2013-03-25 79 views
4

BODY标签在年底前这是body标签之前,我希望脚本:将脚本与jQuery

<script type="text/javascript"> 
    var vglnk = { api_url: '//api.viglink.com/api', 
       key: '89dcd0a12ff35d227eaaaff82503030b' }; 

    (function(d, t) { 
    var s = d.createElement(t); s.type = 'text/javascript'; s.async = true; 
    s.src = ('https:' == document.location.protocol ? vglnk.api_url : 
      '//cdn.viglink.com/api') + '/vglnk.js'; 
    var r = d.getElementsByTagName(t)[0]; r.parentNode.insertBefore(s, r); 
    }(document, 'script')); 
</script> 

我想这个代码是,我已经把“HERE”

<html> 
<head> 
</head> 
<body> 
some html and stuff 
HERE 
</body> 
</html> 

如何在jQuery中进行此操作? (我正在做这个扩展,主要是在Chrome中,还有FF和IE。)

任何帮助表示赞赏。

+1

http://stackoverflow.com/a/5114084/139010 – 2013-03-25 22:47:04

+1

你会如何建议我去在所有页面上使用这个脚本? – 2013-03-25 22:55:54

+1

经过测试,不起作用。不会让JS在活动页面上做它需要做的事情。 – 2013-03-25 23:14:36

回答

3

您需要content script在您想要的每个页面上进行插入。

内容脚本的代码非常简单,不需要jquery。

var code = "your script code here"; 
var script = document.createElement("script"); 
script.setAttribute("type", "text/javascript"); 
script.appendChild(document.createTextNode(code)); 
document.body.appendChild(script); 

因为它只会被调用一次,你甚至不需要定义一个函数。 您可以在内容脚本附加的任何Web上使用调试器调试代码(F12),您将在内容脚本选项卡中看到您的代码。

0

我有关于添加jQuery的最佳位置的相同问题:头部或身体标记之前?答案是没关系。

整个页面(或DOM)需要初始化或加载,以完成您正在做的事情。 AND .. 身体内的信息越多,您就越需要确保文档已加载。上述

的2句是多余的,因为:

所有jQuery用户界面/基本语法/窗口小部件等被触发以: $(document).ready(function() { $("#some_id").click(function { MORE CODE HERE }); });

上述代码指完整的HTML页面(或“文件')需要在jQuery运行之前加载,也就是初始化。

有一个命令,jQuery需要加载才能工作。实际的图书馆应该是第一个,然后是用户界面。该库可以从jquery.com下载并上传到设计者网络空间或通过CDN(内容显示网络)来节省带宽。下面是顺序应该如何一个例子:

<script src="http://code.jquery.com/jquery-1.6.4.min.js" ></script> <script src="http://code.jquery.com/mobile/1.0/jquery.mobile-1.0.min.js" ></script>

通知该库的第一行,则该用户界面中,在这种情况下我装jquery的移动。

在结论中它并不重要,主要是偏好。更多这里https://forum.jquery.com/topic/unclear-where-document-ready-goes#14737000004139019