启用文本选择javascript

enable text selection javascript

本文关键字:javascript 选择 文本 启用      更新时间:2023-09-26

我正在开发一个chrome扩展,我想启用文本选择。当我在chrome控制台中执行这段代码时,我能够启用文本。

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

当我将代码放在document ready事件上时,什么也没有发生。

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

我应该把这行代码放在哪里使它工作?

我认为你的问题是隐式使用eval:你正在制作一个字符串的函数。

这不适用于扩展的默认内容安全策略,但在控制台中工作,因为这些限制不适用。

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

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

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

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

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);