我正在尝试构建一个简单的 Chrome 扩展程序,以替换网页上某个标记的属性。
该网站有以下代码:
<body ondragstart="return false;" onselectstart="return false;">
从而使网页上的文本无法选择。我正在尝试使文本可选择。
我在 script.js 中尝试了这段代码:
$(document).ready(function () {
$('body').live('selectstart dragstart', function (evt) {
evt.allowDefault();
return true;
});
});
和:
$(document).ready(function(){
var bd = document.getElementById('body');
bd.addEventListener('selectstart', start, true);
bd.addEventListener('dragstart', start, true);
});
我的 list 如下:
{
"browser_action": {
"default_icon": "chav.jpg"
},
"content_scripts": [ {
"js": [ "jquery.js", "content_script.js" ],
"matches": [ "http://www.chavaramatrimony.com/*" ]
} ],
"description": "Lets you select text",
"icons": {
"128": "chav.jpg"
},
"manifest_version": 2,
"name": "ChavaraMatrimony Unlocker",
"update_url": "https://clients2.google.com/service/update2/crx",
"version": "1.1"
}
它们似乎都不起作用。控制台显示错误:“未捕获的类型错误:未定义不是函数”。
如果我在这方面做错了什么,我会很高兴得到一些帮助。
最佳答案
我认为你的问题的根源是你的代码运行在 isolated context ,无法访问或覆盖页面上下文的处理程序。
请参阅 injecting your code into the page's context 的此答案.
另请注意,您可能不应该添加另一个监听器,而应该清除现有监听器。
关于javascript - 使用 jQuery 替换页面上的标签元素属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23741218/