我正在努力构建一个简单的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);
});
我的清单如下:
{
"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"
}
它们似乎都不起作用。控制台显示错误:“未捕获的TypeError:undefined不是函数”。
我很高兴能帮助我解决这个问题。
答案 0 :(得分:1)
我认为问题的根源在于您的代码在isolated context中运行,无法访问或覆盖页面上下文的处理程序。
请参阅injecting your code into the page's context的答案。
另请注意,您可能不应该寻找添加另一个侦听器,而是要清除现有侦听器。