Tôi đang cố gắng tạo tiện ích mở rộng của Chrome thay thế cho bookmarklet Delicious. Tôi biết đã có phần mở rộng, nhưng vấn đề với phần mở rộng đó là sau khi bạn đánh dấu một trang, cửa sổ bật lên vẫn mở (trái ngược với việc sử dụng bookmarklet, nơi cửa sổ bật lên tự đóng lại sau khi gửi biểu mẫu. mở rộng và chạy vào cùng một vấn đềĐóng cửa sổ bật lên được tạo bởi tiện ích Google Chrome
Dưới đây là mã của tôi:.
manifest.json:
{
"name": "Delicious",
"version": "1.0",
"description": "Bookmark a site on Delicious",
"background_page": "background.html",
"permissions": [
"tabs"
],
"browser_action": {
"default_icon": "delicious.png"
},
"content_scripts": [
{
"matches": ["http://www.delicious.com/save*"],
"js": ["contentscript.js"]
}
]
}
background.html:
<html><script>
chrome.browserAction.onClicked.addListener(function(tab) {
chrome.tabs.getSelected(null, function(tab) {
w = window.open('http://delicious.com/save?url='+
encodeURIComponent(tab.url)+
'&title='+encodeURIComponent(tab.title)+
'&v=5&noui=1&jump=close',
'deliciousuiv5',
'location=yes,links=no,scrollbars=no,toolbar=no,width=550,height=550');
});
});
</script></html>
contentscript.js:
if (document.URL == 'http://www.delicious.com/save')
{
alert('closing...');
self.close();
alert('should have closed by now');
}
Khi tôi bấm vào nút Delicious, popup đi lên tốt đẹp và tôi có thể lưu các bookmark nhưng sau khi tôi bấm vào nút "Save", popup không đóng. Cả hai cảnh báo đều xuất hiện, nhưng self.close()
dường như không làm gì cả. Khi tôi xóa kiểm tra URL trong contentcript.js, cửa sổ bật lên xuất hiện như bình thường, cảnh báo đầu tiên kích hoạt ngay lập tức và sau đó cửa sổ bật lên đóng lại chính nó (vì nó nên).
Tại sao tính năng này không hoạt động? Có vẻ như Chrome không ngăn tôi làm self.close(). Delicious có làm gì không? Có cái gì khác?
Các tập tin đang ở đây nếu bạn muốn họ: [link loại bỏ vì drop.io đi ra ngoài của doanh nghiệp]
Cửa sổ tự động đóng lại. Tôi đang chạy phiên bản Chrome khá mặc định nếu điều đó tạo ra bất kỳ sự khác biệt nào. –