使用JsonP注入JQuery的脚本是否安全?
我的网络应用程序的安装是 - 向客户的网站添加脚本(如谷歌分析)。我想在客户的网站上使用JQuery,作为我自己注入脚本的一部分。
我想知道,如果存在某种风险? 该应用程序需要支持任何类型的网站。
谢谢 亚龙
答案 0 :(得分:4)
很难说你在库中做了什么,但似乎你正在构建某种类型的小部件,以便在多个站点上使用。
从@K Prime获得启发性评论之后,我已经更新了这个问题,这让我研究了如何在需要时包含两个jQuery副本:
如果您正在构建一个将在在外部的网站上生成的窗口小部件,那么使用jQuery通常一般不好,并且将添加到“复制此嵌入代码并粘贴到您的网站“功能类型。 (当然jQuery小部件和插件比比皆是,但这些通常由开发人员选择和安装/实现,而不是通用的“copy-n-paste”小部件类型实现)
可能最大的原因(在实现可以在同一页面上运行两个jQuery副本之后)是文件大小增加。是否有必要取决于您的特殊需求和功能。简单的小部件=直JS。复杂的网站前端扩展,然后它可能值得文件大小增加。
要正确包含它(这样您就不会在其网站上遇到冲突),请按照如下所示的工作流程进行操作:
var mywidget_jQuery = $.noConflict( true );
,这将恢复$
的原始含义和恢复window.jQuery
的原始含义。<强> JS 强>
(function($){
... Your code here ...
})(mywidget_jQuery);
现在,您可以安全地在特殊功能中使用$
以及您想要的所有jQuery功能。
额外功劳您可以在if语句中包含步骤1和2,以测试window.jQuery
是否已定义,如果是,请测试jQuery.fn.version
是否足够高以运行码。如果任一测试失败,则运行步骤1和2.但是,如果它通过,则只需运行var mywidget_jQuery = window.jQuery
,这样您在步骤3中包含的脚本仍将运行。
答案 1 :(得分:2)
只需添加<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.js" />
元素即可将jQuery添加到网站。
但是,如果他们使用其他$
关键字,请务必致电jQuery.noConflict()
。
答案 2 :(得分:0)
如果您刚刚参考了库,为什么不直接链接到Google Code上托管的API?