5
キーワードを探しているウェブサイトを解析し、それらのキーワードをボタンに置き換えるChrome拡張機能を作成しようとしています。しかし、テキストを変更すると、画像のパスが壊れてしまいます。現在の結果のウェブページのテキスト内の一致する単語をボタンに変更する
// This is a content script (isolated environment)
// It will have partial access to the chrome API
// TODO
// Consider adding a "run_at": "document_end" in the manifest...
// don't want to run before full load
// Might also be able to do this via the chrome API
console.log("Scraper Running");
var keywords = ["sword", "gold", "yellow", "blue", "green", "china", "civil", "state"];
// This will match the keywords with the page textx
// Will also create the necessary buttons
(function() {
function runScraper() {
console.log($('body'));
for(var i = 0; i < keywords.length; i++){
$("body:not([href]):not(:image)").html($("body:not([href]):not(:image)").html()
.replace(new RegExp(keywords[i], "ig"),"<button> " + keywords[i] + " </button>"));
console.log("Ran it " + i);
}
}
function createResourceButton() {
// Programatically create a button here
// Really want to return the button
return null;
}
function createActionButton() {
}
runScraper();
})();
// TODO create the functions that the buttons will call
// These will pass data to the chrome extension (see message passing)
// Or we can consider a hack like this:
// "Building a Chrome Extension - Inject code in a page using a Content script"
// http://stackoverflow.com/questions/9515704
画像:
あなたのセレクタは 'body'要素自体をキャッチし、そのinnerHTMLを変更して、添付されたイベントリスナーをすべて破棄します。また、セレクタを修正するときに要素を変更するには '.each()'を使う必要があります。 – wOxxOm
実際にリンク内に表示されている単語(つまり、 ''要素)をボタンにしたいのですか、リンクが壊れたという理由だけでいいのですか?表示されたリンクのテキスト内の一致する単語が、リンクに壊れていない場合はボタンに表示されますか? – Makyen