3
回答
jquery加载jscript问题
利用AWS快速构建适用于生产的无服务器应用程序,免费试用12个月>>>   
大家好~这里是新人一只···在开发的时候遇到如下技术问题,求大神!
我有一段<script>代码
<script src=" http://chat32.live800.com/live800/chatClient/floatButton.js?jid=6461227793&companyID=225556&configID=42433&codeType=custom " language="javascript"></script>
把这段代码加到html末尾时,页面会出现右侧对话框,效果如下图
3.jpg
昨天 17:31 上传
下载附件 (52.98 KB)

我现在想要做的就是,动态加载这段js代码。
我刚开始使用的document.write的方法,是可以实现的代码如下
<script src="jquery-1.7.2.min.js"></script>
                <script language="javascript">
$(document).ready(function()
         {
           document.write("<script language=\"javascript\" src=\"http:\/\/chat32.live800.com\/live800\/chatClient\/floatButton.js?jid=6461227793&companyID=225556&configID=42433&codeType=custom\"><\/script>");
         });
            </script>
   
但是这个方法会导致整个页面就只有这段js,body里面的内容都被请了。
然后我就想到了用document.innerHTML,代码如下
  <script src="jquery-1.7.2.min.js"></script>
                <script language="javascript">
$(document).ready(function()
         {
              document.getElementById("live").innerHTML="<script language=\"javascript\" src=\"http:\/\/chat32.live800.com\/live800\/chatClient\/floatButton.js?jid=6461227793&companyID=225556&configID=42433&codeType=custom\"><\/script>";
              });
            </script>   
          
< /head>
< body>
< div>
< div id="live">
< /div>
< /div>


但是这样却没有效果,所以我想问下,应该如何动态加载这段js(不使用document.write)?
举报
沈佳琦
发帖于5年前 3回/553阅
共有3个答案 最后回答: 5年前

如果你想把这段js写进hmtl中的话 可以用 append方法阿 这样就使追加 而不是重写了。

而且如果想动态加载js的话 也可以试试别的方法阿。把这个js文件里的代码封装到一个方法内。然后想用的时候再去调 就ok了吖。

不能直接innerHTML,动态加载JS可以这样:

var js = document.createElement('script'); 
	js.id='chat_script';
	js.setAttribute('charset','utf-8');
	//js.src='http://chat32.live800.com/live800/chatClient/floatButton.js?jid=6461227793&companyID=225556&configID=42433&codeType=custom';
	js.src="http://code.jquery.com/jquery-1.6.4.min.js";
	js.onload =  function() {
		$("#test").css({color:"red"});
		//alert(0);
	};
	document.body.appendChild(js);



--- 共有 1 条评论 ---
沈佳琦下楼是我的代码~麻烦问下~是不是哪里有问题··· 5年前 回复

用了上述的方法~还是跳不出来对话框下面是我的代码

<!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>
    <title>无标题页</title>
        <script src="jquery-1.7.2.min.js"></script>
                <script language="javascript">
$(document).ready(function()
         {
var js = document.createElement('script');
    js.id='chat_script';
    js.setAttribute('charset','utf-8');
    js.src='http://chat32.live800.com/live800/chatClient/floatButton.js?jid=6461227793&companyID=225556&configID=42433&codeType=custom';
    document.body.appendChild(js);
              });
            </script>   
          
</head>
<body>
<div>
测试
</div>
</body>
</html>

请问哪里有错误····

--- 共有 2 条评论 ---
沈佳琦不能直接写死,因为要根据不同参数,写入不同的src,所以要动态的加载 5年前 回复
叛道是在线客服的代码吧?直接用<script>标签放在页面里就行了。 5年前 回复
顶部