[急][解决立马结贴]如何根据js动态加载不同的外部js

renyiqiu 2016-12-26 10:16:06
有这么一个需求,我需要根据不同设备在id为news_bottom的div上加载不同的外部js,比如PC端的话就加载a.js,wap端的话就加在b.js


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script class="jquery library" src="/js/sandbox/jquery/jquery-1.8.2.min.js" type="text/javascript"></script>
<title>演示代码</title>
</head>
<body>
<div id="news_bottom">

</div>
</body>
</html>


大概实现要求就是:

$(document).ready(function () {
if ($("#currentDevice").val() == "wap") {
loadScript("news_bottom", "http://xxx.com/a.js");
}
else
{
loadScript("news_bottom", "http://xxx.com/b.js");
}
});
//加载js
var loadScript=function(id,scriptLink)
{

var obj = document.getElementById(id);
var oScript = document.createElement("script");
oScript.type = "text/javascript";
oScript.src = scriptLink;
obj.appendChild(oScript);
}



请大家为我这个loadScript进行修改或者给我个新的解决方案,急急急,解决立马结贴
...全文
213 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
Go 旅城通票 2016-12-28
  • 打赏
  • 举报
回复
    <div id="news_bottom">
 if(移动端)document.write('<script src="移动端js路径"><\/script>')
else document.write('<script src="pc端js路径"><\/script>')
    </div>
renyiqiu 2016-12-28
  • 打赏
  • 举报
回复
我都忘了直接放到html里指定位置这简单的方法了,感谢楼上的几位帮忙,我太笨了,这么原始的方法就能解决了还在纠结怎么生成。
daswcszxw 2016-12-27
  • 打赏
  • 举报
回复
1,别写append了。 直接在模版写script 标签。 <script type="text/javascript" src="" id="#news_bottom"></script> 或者在if 的时候写document.write(<script src=‘....’)
renyiqiu 2016-12-27
  • 打赏
  • 举报
回复
引用 4 楼 Free_Wind22 的回复:

		$(function(){
			var url;
			if (navigator.userAgent.match(/(iPhone|iPod|Android|ios|SymbianOS|Windows Phone|BlackBerry)/i)) {
				url = 'http://xxx.com/a.js';
			}else{
				url = 'http://xxx.com/b.js';
			}
			$("<script>").attr("src", url).appendTo("#news_bottom");
		})
js能生成了,但解析不了呢,只add了文本
  • 打赏
  • 举报
回复
引用 3 楼 renyiqiu的回复:
[quote=引用 2楼圭宁的小小前端 的回复:]1,用window.screen.width判断设备屏幕大小 2,根据不同的屏幕大小,var s=document.createElement('script');s.src='url';s.async=true;document.head.appendChild(s); 应该可以了
我想要指定位置显示呢,不只是能加载出来[/quote] 那你就自己选位置append啊
2016-12-27
  • 打赏
  • 举报
回复

		$(function(){
			var url;
			if (navigator.userAgent.match(/(iPhone|iPod|Android|ios|SymbianOS|Windows Phone|BlackBerry)/i)) {
				url = 'http://xxx.com/a.js';
			}else{
				url = 'http://xxx.com/b.js';
			}
			$("<script>").attr("src", url).appendTo("#news_bottom");
		})
renyiqiu 2016-12-27
  • 打赏
  • 举报
回复
引用 2楼圭宁的小小前端 的回复:
1,用window.screen.width判断设备屏幕大小 2,根据不同的屏幕大小,var s=document.createElement('script');s.src='url';s.async=true;document.head.appendChild(s); 应该可以了
我想要指定位置显示呢,不只是能加载出来
  • 打赏
  • 举报
回复
1,用window.screen.width判断设备屏幕大小 2,根据不同的屏幕大小,var s=document.createElement('script');s.src='url';s.async=true;document.head.appendChild(s); 应该可以了
lovebaby 2016-12-27
  • 打赏
  • 举报
回复
记得jquery的AJAX也有一个加载JS文件的方法
2016-12-27
  • 打赏
  • 举报
回复

<div id="news_bottom">
	<script type="text/javascript">
	(function(){
		var url;
		if (navigator.userAgent.match(/(iPhone|iPod|Android|ios|SymbianOS|Windows Phone|BlackBerry)/i)) {
			url = 'http://xxx.com/a.js';
		}else{
			url = 'http://xxx.com/b.js';
		}
		document.write("<scr" + "ipt src='" + url + "' type='text/javascript'></scr" + "ipt>");
	})()
	</script>
</div>
xhEditor是一个基于jQuery开发的简单迷你并且高效的可视化XHTML编辑器,基于网络访问并且兼容IE 6.0+,Firefox 3.0+,Opera 9.6+,Chrome 1.0+,Safari 3.22+。 xhEditor is a simple,small,fast WYSWYG(What You See What You Get) XHTML editor based by jQuery. that is webbased and compatible with Internet Explorer 6.0+,Firefox 3.0+,Opera 9.6+,Chrome 1.0+,Safari 3.22+ . xhEditor编辑器官方网站:http://xheditor.com/ Features(特点): Small:初始加载4个文件,包括:1个js(50k)+2个css(10k)+1个图片(5k),总共65k。若js和css文件进行gzip压缩传输,可以进一步缩减为24k左右。即使加上jQuery的24K,总共仅加载48K。 Fast:基于jQuery引擎开发,提供高效的代码执行效率 Simple:简单的调用方式,加一个class属性就能将您的textarea立马变成一个功能丰富的可视化编辑器。 Word:实现Word代码自动检测并清理,提供高效完美的Word代码过滤方案,生成代码最优化精简,但是却不丢失任何细节效果。 UBB:提供完美的UBB可视化编辑解决方案,在您获得安全高效代码存储的同时,又能享受可视化编辑的便捷 Demo(演示): 默认模式:http://xheditor.com/demos/demo01.html 自定义按钮:http://xheditor.com/demos/demo02.html 皮肤选择:http://xheditor.com/demos/demo03.html 其它选项:http://xheditor.com/demos/demo04.html Javascript交互:http://xheditor.com/demos/demo05.html 非utf-8编码网页调用:http://xheditor.com/demos/demo06.html UBB可视化编辑:http://xheditor.com/demos/demo07.html Ajax文件上传:http://xheditor.com/demos/demo08.html 插件扩展:http://xheditor.com/demos/demo09.html iframe调用文件上传:http://xheditor.com/demos/demo10.html 异步加载:http://xheditor.com/demos/demo11.html Interactive(交流) QQ交流群:54432536(验证内容:xheditor) Email:yanis.wang#gmail.com(# = @) ver 1.0.0 rc2 Change(2010-4-1) 添加:添加鼠标悬停延迟自动面板显示功能,提高用户操作效率,延迟时间在初始化时用hoverExecDelay参数设置,单位为毫秒,设置为-1表示关闭此功能 添加:按钮对象添加h参数,h设置为1时代表当前按钮支持鼠标悬停自动显示,此参数同样适用于插件开发 添加:在demo07 UBB演示中添加Flv视频演示 添加:集成MSN表情,可在demo07 UBB演示中查看显示效果 添加:自带Ajax文件上传添加按Esc取消上传功能 添加:pasteHTML和pasteText函数添加第2个参数:bStart,可以是以下值:留空(覆盖粘贴)、true(粘贴在光标选择区域之前)、false(粘贴在光标选择区域之后) 添加:切换到源代码,可视化编辑页面的光标对应源代码相应位置的定位功能 添加:扩展jQuery的标准val函数,使之能够直接读取和设置编辑器的最新值 添加:为方便外部应用的扩展,特将编辑器内部的window和document开放外部调用,变量名:win,doc 添加:扩展textarea的change事件,使之可以触发编辑器的change 添加:UBB演示demo07添加字节数统计演示 添加:内置Ajax上传和showIframeModal接口参数中的url地址可以使用“{editorRoot}”内置变量,用来定位编辑器文件夹中的页面,例如:{editorRoot}xheditor_plugins/test.html 修正:
已编排格式中的换行符和制表符丢失问题的修正 
修正:最终代码提交时没有进行压缩问题的修正 
修正:表情没有插入alt信息问题的修正 
修正:表情分组切换时产生右移1像素位移问题的修正 
修正:当按钮的鼠标悬停样式偶尔失效时,按钮面板会产生右移1像素问题的修正 
修正:带面板的按钮包括插件,快捷键触发或者直接外部调用会产生错误问题的修正 
修正:IE浏览器预览时,会跑至页面尾部问题的修正 
修正:Firefox 3.6从源代码切换回来光标丢失问题的修正 
修正:p和div标签内部的 占位符被清除,造成块标签零高度问题的修正 
修正:IE拖动img大小不更新width和height属性值问题的修正 
修正:IE浏览器下在表格中粘贴会位置错乱问题的修正 
修正:IE浏览器下超链接的链接文字,在超链接是“http://”开头的情况下,输入“http://”开头文字无效的修正 
修正:UBB模块中style="text-align:*"没转换成[align=*]问题的修正 
修正:IE6下打开面板某些情况下会出现方形白色区域问题的修正 
修正:加载多个编辑器时,用于IE粘贴处理的临时隐藏iframe被重复加载问题的修正 
修正:IE6下某些情况下全屏后再取消全屏导致浏览器崩溃问题的修正 
调整:所有img图片强制添加alt标签,以使代码符合XHTML标准 
调整:对ubb插件进行了适当的调整,以兼容以下不标准情况:无[list]和[/list]结尾的[*]标识 
调整:优化formatXHTML函数,提高解析器工作效率 
调整:API函数setSource由原先的延迟写入,修改为立即写入 
调整:更换为更完善的IE光标丢失问题解决方案 
调整:为兼容w3c标准,原xheditor专有属性初始化模式,变更为直接在class中写参数,例:class="xheditor {skin:'o2007blue'}" 
调整:为兼容电驴、快播等特殊URL,超链接、图片、FLASH和多媒体4个按钮的批量插入分隔符,由原先的“|”变更为制表符(\t) 
调整:编辑器初始化代码由原先的xheditor(true,参数)精简为xheditor(参数)
软件介绍xhEditor是一个基于jQuery开发的简单迷你并且高效的可视化XHTML编辑器,基于网络访问并且兼容IE 6.0-8.0,Firefox 3.0,Opera 9.6,Chrome 1.0,Safari 3.22。Features(特点): Small:初始加载5个文件,包括:1个js(36k)+2个css(6k)+2个图片(4k),总共46k。若js和css文件进行gzip压缩,可以进一步缩减为18k左右。 Fast:基于jQuery引擎开发,提供高效的代码执行效率 Simple:简单的调用方式,加一个class属性就能将您的textarea立马变成一个功能丰富的可视化编辑器。 Word:实现Word代码自动检测并清理,提供高效完美的Word代码过滤方案,生成代码最优化精简,但是却不丢失任何细节效果。 UBB: 提供完美的UBB可视化编辑解决方案,在您获得安全高效代码存储的同时,又能享受可视化编辑的便捷 ver 0.9.7 Change(2009-7-21) 1.调整:标签显示功能由原先的显示在左上方并增高8像素,改为显示在右上方且不增高 2.调整:编辑器内部的settings变量由原先的内部变量改为公有变量,以方便从外部动态的对参数进行修改 3.修正:修正了Chrome浏览器下字体效果转换错误的问题,此问题仅出现在0.9.6版中 4.修正:在非WebKit内核下,使用3个字符的16进制颜色值无效的问题进行了修正,例:aaa 5.修正:appendHTML和pasteHTML两个函数添加的图片或者链接,相对地址变绝对地址问题的修正 6.修正:XHTML格式化功能进一步完善,例:aaa,修正前<bbb这部分内容会消失,修正后此BUG消失 7.修正:之前表情插入后默认是选中当前表情,现修正为插入表情后光标定位在表情之后,这样便于在后面继续插入新表情 8.添加:ajax上传功能模块化,使链接、动画和视频在不增加代码大小的情况下都具备上传功能 9.添加:在readonly只读模式下除了全屏和关于按钮可用,其它所有按钮都禁用,并且内容不可编辑,可通过toggleReadonly接口来进行切换状态 10.添加:showModal接口,模仿桌面程序的模式窗口,必需完成窗口内事件或者关闭窗口才能返回窗口,本程序已扩展到ajax上传模块中,并可在插件中调用

87,915

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧