我正在开发一个chrome扩展,它从ServiceNow中的表单中获取元素并验证它,因为我注意到ServiceNow使用iFrames来表单。 当我试图用内容脚本访问iframe中的元素时,我得到了未定义。
这是我的清单文件:
{
"manifest_version": 2,
"name": "my extension",
"description": "This extension will help you .",
"version": "1.0",
"browser_action": {
"default_icon": "ico.png",
"default_popup": "popup.html"
},
"permissions": ["http://localhost/Backend/public/Ask","storage"],
"background": {
"scripts": ["jquery-3.1.0.min.js","background.js"]
},
"content_scripts": [{
"all_frames": true,
"run_at": "document_end",
"matches": ["https://mycompany.service-now.com/*"],
"js": ["jquery-3.1.0.min.js","angular.js", "automation-api.js","mutationObserver.js", "myScript.js"]
}],
"web_accessible_resources": ["inject.js"]
}
以下是返回 undefined :
的代码test=$("#gsft_main").contents().find("#sys_original.incident.number").val();
alert("the value is : "+test);
gsft_main是iframe的id,sys_original.incident.number是我想要获取值的输入的id。
iFrame的网址:
https://mycompany.service-now.com//incident.do?sys_id=-1&sysparm_stack=incident_list.do