启用文本选择javascript

时间:2014-07-04 00:36:54

标签: javascript google-chrome-extension

我正在开发Chrome扩展程序,我想启用文本选择。当我在chrome控制台中执行此代码时,我能够启用文本。

document.onselectstart=new Function ("return true");

当我将代码放在文档就绪事件上时,没有任何反应。

$(document).ready(function(e){
    document.onselectstart=new Function ("return true");
});

我应该在哪里放置这行代码才能使其正常工作?

2 个答案:

答案 0 :(得分:3)

我认为您的问题是隐式使用eval:您正在使用字符串创建函数。

does not work with the default Content Security Policy用于扩展程序,但在控制台中有效,因为这些限制不适用。

虽然您可以使用unsafe-eval覆盖CSP,但请尝试使用匿名函数:

$(document).ready(function(e){
    document.onselectstart = function(){return true;};
});

答案 1 :(得分:0)

最后我弄清楚,事件没有被触发(我不知道为什么)

通过动态添加脚本,它可以正常工作

var script = document.createElement('script');
script.type='text/javascript';
script.innerHTML = "document.onselectstart = function(){return true;};";
var body = document.getElementsByTagName('body')[0];
body.appendChild(script);