挿入された JS を使用してサーバーから Facebook ページに HTML を挿入する Chrome 拡張機能を構築しようとしています。次に、HTML 内から Javascript 関数を呼び出して、Facebook ページで実行できるようにしたいと考えています。問題は、fhrun.js ファイルに配置した JS 関数が、HTML ファイルから呼び出したときにページ上で実行されないことです。これは、注入された JS の機能がどれも Facebook の JS コンソールから実行できないという事実に関係している可能性があります。
background.js ファイルで実行する Chrome スクリプトは次のとおりです。
chrome.tabs.executeScript(null,
{file: "fhrun.js", allFrames: false, runAt: "document_start"},
function(){
//JS inserted
}
);
これは簡略化された fhrun.js です (jquery も含まれています)。
function testFunction(){
console.log("Test function is working.");
}
$("#facebookDiv").load("https://path.to.my.server/ajax.html"); // this works great btw
これは ajax.html です:
<a href="#" onclick="testFunction();">Click Me</a> //link doesn't work
「Click Me」をクリックするとtestFunction();
、ページに挿入された JS 内にあるものを呼び出す必要があります。しかし、そうではありません。エラーすら出ません。background.js ファイルの中に入れてみtestFunction();
ましたが、それもうまくいきませんでした。
助言がありますか?