1

我无法让这个扩展做我需要做的事情。我是 Chrome 开发的新手,所以我不知道 JavaScript 控制台中是否应该出现任何错误,但我可以告诉你,那里什么也没有出现。我不知道脚本是否正在运行,但由于错误而停止。

清单.json:

{
  "name": "SharePoint 2010 Welcome Email Disabler",
  "version": "1.0",
  "manifest_version": 2,

  "description": "Unchecks the 'Send welcome email to new users' checkbox when you add permissions in SharePoint 2010.",

  "content_scripts": [
    {
      "matches": ["http://omitted/*/_layouts/aclinv.aspx", "https://omitted/*/_layouts/aclinv.aspx"],
      "js": ["SP2010WelcomeEmailDisabler.user.js"],
      "all_frames": true,
      "run_at": "document_idle"
    }
  ],

  "permissions": [
    "http://omitted/"   
  ]
}

SP2010WelcomeEmailDisabler.user.js:

document.getElementById("ctl00_PlaceHolderMain_ifsSendEmail_chkSendEmail").checked = false;

我认为问题在于我希望修改的元素位于没有 src 标签的 iframe 中(javascript 加载其内容),我不确定如何处理 iframe 中的内容。

如果有人成功地做到了这一点,我很想知道如何继续。

谢谢。

4

1 回答 1

1

您可以尝试这样的事情,而不是尝试直接获取元素。您可以在框架集合中找到它。

for(var i=0;i<frames.length;i++) 
{
  var frame = frames[i];  
  if(frame.document != 'undefined' && frame.document.getElementById('ctl00_PlaceHolderMain_ifsSendEmail_chkSendEmail') != null) {
    frame.document.getElementById('ctl00_PlaceHolderMain_ifsSendEmail_chkSendEmail').checked =       false;
  } 
} 
于 2013-01-06T22:56:20.360 回答