Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/375.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript .click()按钮无法处理(无错误)_Javascript_Jquery_Google Chrome Extension - Fatal编程技术网

Javascript .click()按钮无法处理(无错误)

Javascript .click()按钮无法处理(无错误),javascript,jquery,google-chrome-extension,Javascript,Jquery,Google Chrome Extension,我正试图为我的第一个扩展创建一个选项页面。我对编码是全新的,所以我确信我犯了一个简单的错误。不幸的是,我在我的基本扩展中工作了一段时间,但没有遇到一些基本功能的问题。我已经检查了语法,并搜索了我能想到的任何地方,以了解它为什么不起作用,并且没有提供关于它为什么失败的错误。我复制了这种行为 . 如蒙协助,将不胜感激 --HTML-- 我的扩展的选项 将菜单切换到“默认=输出”? 不 对 拯救 重置 --JS-- 函数保存_数据(){ var ob=document.getElementByI

我正试图为我的第一个扩展创建一个选项页面。我对编码是全新的,所以我确信我犯了一个简单的错误。不幸的是,我在我的基本扩展中工作了一段时间,但没有遇到一些基本功能的问题。我已经检查了语法,并搜索了我能想到的任何地方,以了解它为什么不起作用,并且没有提供关于它为什么失败的错误。我复制了这种行为 . 如蒙协助,将不胜感激

--HTML--

我的扩展的选项
将菜单切换到“默认=输出”?
不
对

拯救
重置
--JS--

函数保存_数据(){
var ob=document.getElementById(“菜单隐藏”);
var txt=ob.children[ob.selectIndex].value;
localStorage[“菜单隐藏”]=txt;
}
函数加载_数据(){
log(“这加载得很好!”)
var data=localStorage[“菜单隐藏”];
如果(!数据){
返回;
}
var select=document.getElementById(“菜单隐藏”);
var=false;
对于(var i=0;i
--manifest.json-(更新)

{
“清单版本”:2,
“姓名”:“我第一次尝试成为有用的人。”,
“说明”:“此扩展将向某些页面添加附加功能。”,
“版本”:“1.5”,
“选项页面”:“options.html”,
“内容脚本”:[{
“js”:[“start.js”],
“匹配项”:
[
“https://”
“https://”,
]
}],
“web可访问资源”:[“run.js”],
“权限”:[
“活动标签”,
“标签”,
]
}

我找不到任何支持文档,但我发现“.click()”功能不适用于扩展中的“选项”页面。但是,您可以使用浏览器操作“默认弹出窗口”并单击此处的功能(以及其他事件侦听器),而不是完全使用单独的页面。


我希望这对将来的人有帮助

打字错误:它不是
selectIndex
。此外,fiddle确实会给出错误,首先是jQuery没有被定义,因为您没有正确地为fiddle包含它,然后是一个错误
无法为使用错误属性名称的行读取未定义的属性值
window.onLoad=load_data()应该是
window.onLoad=load\u数据。您将立即调用该函数,而不是为functionOk分配一个引用,因此在使用上述建议修复fiddle之后,它实际上可以在fiddle上工作。然而,在Chrome扩展中加载完全相同的代码时,作为“选项页面”失败。有人知道为什么会失败吗?控制台上没有任何记录。我看不出为什么单击“save”(保存)按钮时“save_data”(保存数据)功能不启动。我今天早上想到的有关扩展的更多信息可能是,它是一个“content script”(内容脚本)扩展,而不是一个“background”(背景)扩展。我已经用扩展的json数据更新了帖子。如果你正在使用Chrome扩展,请在你的问题中添加该标记
<title>Options for My Extension</title>

<script src="jquery-3.1.1.js"></script>
<body>
<h1>Toggle Menu to "Default = Out"?</h1>
<select id="Menu_Hide">
<option value="No">No</option>
<option value="Yes">Yes</option>
</select>
<br />
<button id="Save">Save</button>
<br />
<button id="Reset">Reset</button>
</body>
function save_data(){
    var ob = document.getElementById("Menu_Hide");
    var txt = ob.children[ob.selectIndex].value;
    localStorage["Menu_Hide"] = txt;
}

function load_data(){
    console.log("This loads just fine!")
    var data = localStorage["Menu_Hide"];
    if (!data){
        return;
    }
var select = document.getElementById("Menu_Hide");
var found = false;
for (var i = 0; i < select.children.length && !found; i++){
    var child = select.children[i];
    if (child.value == data) {
        child.selected = "true";
        found = true;
    }
}    
}

window.onLoad = load_data();

$('#Save').click(function() {
    alert('Settings Saved!');
    save_data();
})
{
  "manifest_version": 2,
  "name": "My first attempt at being useful.",
  "description": "This extension will add additional functionality to some pages.",
  "version": "1.5",
  "options_page": "options.html",
  "content_scripts": [{
    "js": ["start.js"],
    "matches": 
      [
        "https://<url1>"
        "https://<url2>",

      ]
  }],
 "web_accessible_resources": ["run.js"],
  "permissions": [ 
    "activeTab",
    "tabs",
]
}