1

私はちょっとした楽しみのために Chrome 拡張機能に取り組んでおり、Google バズの投稿に +1 ボタンを追加するためにもう少し JavaScript を学ぼうとしています。

「安全でない JavaScript が URL でフレームにアクセスしようとしています」というエラー / クロス ドメインの問題が発生していると思います。それは私のクロムコンソールログによるとです。

私のコードは次のとおりです。

    function addGJS() {
    var po = document.createElement('script'); po.type = 'text/javascript';
    po.src = 'https://apis.google.com/js/plusone.js'; 
    po.innerHTML = '{"parsetags": "explicit"}';
    jQuery(po).load (function() {
    var items;
    var startInt = setInterval(function() {
        items = $("#canvas_frame").contents().find('.nH.h7.HY.aW');
        if (items.length > 0) { clearInterval(startInt); main(items); }
    }, 1000);
    });
    var insert; 
    var poInt = setInterval(function() {
    insert = document.getElementById("canvas_frame");
    if (insert != null) { insert.contentDocument.body.appendChild(po); clearInterval(poInt) }
    }, 1000);
}

Googleバズのメインコンテンツはiframe「canvas_frame」に表示されるので、それにプラスワンのsrcを追加してみました。よく検索しましたが、決定的な答えは見つかりません。iframe のタイプをコンテンツに変更しようとしました。postMessage についても読みましたが、このコンテキストでそれが可能かどうかわかりませんか?

それとも私はただめちゃくちゃですか?:)

乾杯、

更新: manifest.json (説明と取り出したアイコン):

"content_scripts": [
{
    "js": [ "scripts/jquery.js", "scripts/plusone.js", "user_scripts/buzzplusone.js" ],
    "matches": [ "*://*.google.com/*/#buzz", "*://google.com/*/#buzz", "https://mail.google.com/*" ],
    "run_at": "document_end"
}],
"permissions":  [ "https://mail.google.com/*", "https://plus.google.com/*" ],

また、現在表示されている console.log エラーは次のとおりです。

  • Uncaught CustomError: 保護された関数のエラー: SYNTAX_ERR: DOM Exception 12

  • googleapis.client__plusone.js:27 Uncaught TypeError: null のプロパティ 'src' を読み取れません

  • 安全でない JavaScript が、URL /apps-static//js/nw/nw_i/rt=h/ver=H-Y4RtFct_c.en のフレームからURL https://mail.google.com/mail/#buzzのフレームにアクセスしようとしています。 /am=!oHhtMCRDHb3v-YjahgnJviPf2CNHgPs1tsZl/d=1/">https://plus.google.com/ /apps-static/ /js/nw/nw_i/rt=h/ver=H-Y4RtFct_c.en./am =!oHhtMCRDHb3v-YjahgnJviPf2CNHgPs1tsZl/d=1/. ドメイン、プロトコル、およびポートが一致する必要があります

4

0 に答える 0