Chrome扩展程序取消选中SharePoint 2010中的“向新用户发送欢迎电子邮件”

时间:2013-01-04 21:13:26

标签: javascript sharepoint-2010 google-chrome-extension

我无法按照我的需要进行此扩展。我是Chrome开发的新手,所以我不知道是否有任何错误会出现在JavaScript控制台中,但我可以告诉你,那里没有任何内容。我不知道脚本是在运行还是在运行,但由于错误而停止。

的manifest.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中的内容。

如果有人成功完成了这项工作,我想知道如何继续进行。

感谢。

1 个答案:

答案 0 :(得分:1)

你可以尝试这样的东西,而不是试图直接获取元素。你可以在frames集合中找到它。

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