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 に答える