onClicked
次のブックマークと同じ機能を提供するブラウザ アクションを備えた Chrome 拡張機能を作成したいと考えています。
javascript:(function(){if(!window.page2rss_bookmark_urlr)window.page2rss_bookmark_urlr=function(ur){if(ur.error)alert(ur.error);if(ur.page&&ur.page.page)location.href=ur.page.page};var r=document.getElementById('urlFormRequest');if(r)r.parentNode.removeChild(r);r=document.createElement('script');r.id='urlFormRequest';r.type='text/javascript';r.src='http://page2rss.com/api/page?url='+encodeURIComponent(location.href)+'&callback=page2rss_bookmark_urlr';document.body.appendChild(r);})();
ただし、ブックマークの JavaScript コードを Chrome 拡張機能のロジックに正しく変換するのに苦労しています。ブックマークの正確なコードを別のスクリプトに入れcreate_feed_url.js
てbackground.js
. 私のbackground.js
:
chrome.browserAction.onClicked.addListener(function(tab) {
// Run the bookmark code
chrome.tabs.executeScript(null, {file: "create_feed_url.js"});
// Open a new tab for a valid url resulting from create_feed_url.js
var feed_url = "http://page2rss.com/page?url=" + tab.url;
chrome.tabs.create({"url": feed_url});
それでも、コードのcreate_feed_url.js
実行はうまくいきません。生成されたフィード URL がないため、 の値が存在しませんfeed_url
。
私の質問:
ブックマークのコードを入れて実行できない理由を教えてください
create_feed_url.js
。私の場合、このアプローチは
executeScript
推奨されますか、それともブックマークを拡張機能に変換するより良い方法はありますか?