我想创建一个带有浏览器操作的 Chrome 扩展,onClicked
它提供与以下书签相同的功能:
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
推荐,或者是否有更好的方法将书签转换为扩展?