2012-02-06 83 views
0

我是一名Wordpress插件开发人员,我只是有一个关于jQuery错误的简短问题。防止jQuery错误

我的插件给了用户在他们的网站上创建幻灯片的能力,这涉及到加载jQuery和它自己的脚本。这一切都正确使用正确的Wordpress功能,等没有问题。

但是,其他插件通常不会使用正确的功能,从而导致jQuery在页面上加载两次,有时甚至是三次。另一个问题是用户自己修改了jQuery插件,例如,引用了一个不存在的函数,结果抛出了一个jQuery错误并破坏了我的插件(幻灯片)功能。

只是想知道是否有解决这个问题,我可能不知道。是否可以强制一个函数忽略错误或类似的东西?试图向用户解释插件脚本没有出错,但由于外部错误而遭受的痛苦是一件很痛苦的事情。当用户无法使用Javascript或jQuery时,对此进行故障排除可能会非常困难。

最重要的是,它每天都要面对一个真正的痛苦。当然,jQuery被加载不止一次是最常见的错误,如果尽可能多地尝试并根除它,花更少的时间来解决更多的时间问题,那将是一件好事。

在此先感谢。

+0

我们可以请看看一些例子和代码 – 2012-02-06 21:39:20

+0

这是不是真的可以给出任何具体的例子。除了不止一次加载jQuery,其他类型的错误将是指向不存在的函数的脚本。就像脚本做了'jQuery('。element')。myCustomFunction();'''myCustomFunction()'并不存在一样。通常用户会安装其他基于jQuery的插件并在外部引用其功能,但在他们决定摆脱插件时无法将其删除,因此我们留下了对未定义函数的引用。 – 2012-02-06 22:59:02

回答

1

没有办法克服多个jQuery负载,每个负载初始化jQuery对象,从而删除任何扩展了jQuery对象的函数和属性。

就试着告诉他们什么...

您可以使用window.onerror捕捉脚本错误(不,我知道如何帮助你):

window.onerror = function myErrorHandler(errorMsg, url, lineNumber) { 
    // Code... 
    }; 

window.onerror on MDN

0

你可以使用:

try {} 
catch {} 

如果你强制所有问题le代码在try {}内运行,错误不应该暂停其他脚本。这仍然不会解决jQuery的双重/三重负载和/或滥用插件...