【发布时间】:2023-03-26 15:13:01
【问题描述】:
我网站的一些访问者加载了很多脚本,但我的网站没有链接。这可能是由于软件 Superfish WindowShopper。 这个库似乎也加载了 jQuery,所以我的页面为一些访问者加载了多个版本的 jQuery。
这会导致异常: Object [object Object] 没有方法'dialog'
如何防止 Superfish(或其他广告软件)窃取我的 jQuery UI .dialog?
一些无意链接的脚本:
https://appnext-a.akamaihd.net/source-ds.js
//www.superfish.com/ws/sf_main.jsp?dlsource=pcom&userId=4709955453116160291&CTID=p0
等等等等。脚本因浏览器而异。 Akamaihd.com 的第一个是经过修改的 jQuery。也许还有更多。多个 jQueries 使 .dialog 消失 (Uncaught TypeError: Object [object Object] has no method 'dialog')。
小提琴:http://jsfiddle.net/fybJ3/ 问题出现在 Chrome 和 Firefox 中。 IE 显示对话框没有问题。
我当前的解决方法:在发生此异常时显示老式的“警报”。
我该怎么办?
- 能否修复 jQuery UI,以便在加载多个版本的 jQuery 时显示对话框?
- 我应该为对话框选择不同的库吗?
- 或者???
【问题讨论】:
-
如果您可以从该列表中删除不相关的脚本条目,这可能是最好的。
-
感谢您的快速回复。根据以下内容,无法在访问者端卸载脚本:stackoverflow.com/questions/4365062/… 而且我不知道要卸载什么,因为包含的脚本不同。
-
不是来自网站,来自您的问题。包含的许多脚本与问题无关。
-
已更新问题并添加了 Fiddle。
标签: javascript jquery jquery-ui