我有一个 Firefox 插件,它在 sub.example.com 的每个页面上注入/执行一个 jQuery 脚本。由于设计不佳,该脚本无法在网站的一页上运行。如果某个元素位于页面上,有什么方法可以阻止脚本执行?
编辑:我正在使用的脚本必须在DOM 加载之前执行。有什么方法可以访问 HTML 文件本身并找出该元素是否存在?
我有一个 Firefox 插件,它在 sub.example.com 的每个页面上注入/执行一个 jQuery 脚本。由于设计不佳,该脚本无法在网站的一页上运行。如果某个元素位于页面上,有什么方法可以阻止脚本执行?
编辑:我正在使用的脚本必须在DOM 加载之前执行。有什么方法可以访问 HTML 文件本身并找出该元素是否存在?
由于 jQuery 集合只是增强了数组,它们每个都有一个length
属性,告诉你它匹配了多少元素:
jQuery(document).ready(function($)
{
if ( $('#someElement').length ) return;
// All of your code should go here...
});
由于您使用的是 jQuery,我假设您的脚本包含在$(document).ready
回调中,如果是这样:
$(document).ready(function() {
if ($('#breakOnThisElem').length) {
return;
}
});
如果您的代码没有包含在这样的函数中:更改它!:)