是否可以检查是否包含任何版本的脚本?

时间:2015-05-07 21:34:04

标签: javascript jquery scripting include greasemonkey

今天早些时候,我为idx编写了一个小脚本,修复了StackOverflow Chat中有时会出现错误的自动滚动。

我做score然而导致一些问题,因为聊天已经在较低版本中使用jQuery,这与较新版本不兼容,因为一些函数已被弃用或已被删除。

greasemonkey

现在的问题是,我可以以某种方式检查jQuery是否已经包含在任何版本的网页中,因此我不会再次// @require jquery.........

这主要适用于适用于许多不同网站的脚本,而我不知道哪些网站正在运行哪个jQuery版本。

(我以jQuery为例,基本上它可以是任何库)

2 个答案:

答案 0 :(得分:3)

您是否只是检查jQuery是否存在?

if ( typeof jQuery !== 'function') {
  // load jQuery
} 
// do other stuff here

答案 1 :(得分:0)

这仅适用于AMD架构。

如果在没有任何依赖注入系统的情况下将库包含在页面中,则无法以优雅的方式检查此条件。

但是,您可以创建一个检查所有包含脚本的算法。它可以通过使用任何类型的方法来完成此操作,例如插入脚本标记中的regexp或data-attr。