我正在尝试制作Chrome扩展程序,它应该做一件简单的事情:右键单击时,没有任何反应。我已经阅读了Chrome的文档,该网站上的许多文章以及许多其他文章,尝试了大量代码,使用背景页面或脚本,持久性或非持久性,以及各种JavaScript代码来中和右键单击。
最后,我决定在这里问一下,因为在我看来,我错过了一件简单的事,但我找不到什么。
我尝试了很多东西,但让我们从最简单的一个开始,我看不出有什么问题:
manifest.json:
{
"manifest_version": 2,
"name": "norightclick",
"description": "empecher le clic droit sur les pages",
"version": "1.0",
"background": {
"persistent": false,
"scripts": ["norightclick.js"]
},
"permissions": [
"activeTab",
"tabs",
"background",
"contextMenus"
]
}
norightclick.js:
document.onselectstart=new Function ("return false");
document.oncontextmenu=new Function ("return false");
我在Chrome中导入了所有这些内容,但没有任何反应:没有错误消息,但是当我右键单击页面时仍会出现相同的上下文菜单。
(这只是一个“从头开始重启”,我尝试了很多东西,不可能把它们放在这里)。
答案 0 :(得分:3)
在我的 string tokens[8];
int i =0;
int j=0;
vector<Package *> myPack[5];
while (file.good()){
getline(file,buffer);
cout<< buffer<< endl;
string token, text(buffer);
istringstream iss(text);
cout <<endl;
while (getline(iss, token, '|')){
cout << token << endl;
tokens[i]=token;
i++;
}
myPack[0] = new Package(tokens[0] ,tokens[1],tokens[2],tokens[3], stod(tokens[4]), stod(tokens[5]));
j++;
}
文件中,我不得不替换:
myPack[0] = new Package(tokens[0] ,tokens[1],tokens[2],tokens[3], stod(tokens[4]), stod(tokens[5]));
with:
$mydict = {"1":"one", "5":"five", "5":"five"};
$elements = $mydict["5"];
console.log($elements);
然后,将manifest.json
重命名为"background": { "persistent": false, "scripts": ["norightclick.js"] },
我在此页面上找到了这个: Developing google extensions
答案 1 :(得分:0)
问题是你的脚本。它应该是
document.oncontextmenu=function(){return false;};