我将WP本机函数wp_enqueue_script()用于WP前端和后端中的所有脚本加载,因此它可以处理对同一脚本的重复调用,依此类推.
问题之一是其他程序员不使用此功能而是直接从代码中加载脚本,这导致jQuery或jQuery-UI被加载两次,从而导致许多错误.
另一个问题是我不拥有的代码会触发错误,并在此之后停止JavaScript的执行.
简而言之:
我不拥有的代码中发生Javascript错误.
由于该错误,我的代码无法执行.
我希望我的代码绕过该错误并仍然执行.
有没有办法解决这些问题?
解决方法:
function ShieldAgainThirdPartyErrors($) {
// Code you want protect here...
}
// First shot.
// If no error happened, when DOMContentLoaded is triggered, this code is executed.
jQuery(ShieldAgainThirdPartyErrors);
// Backup shot.
// If third party script throw or provoke an unhandled exception, the above function
// call Could never be executed, so, lets catch the exception and execute the code.
window.onerror = function () {
ShieldAgainThirdPartyErrors(jQuery);
return true;
}
如果您想在必要时两次拉动枪机扳机;)设置一个标志来表示第一枪成功并且避免了备用枪,我认为在某些情况下,即使第三方代码进入,您的第一枪也可以执行.麻烦并触发第二枪.