问题描述
我正在测试一个 Chrome 扩展程序,它可以显示用户当前正在查看的 PDF 文件的一些信息,最好作为 iFrame 插入。我不希望这自动发生,所以我使用后台脚本来监听点击事件,然后注入内容脚本。 (扩展程序与外部服务器通信,但这与此问题无关。)
这是我的manifest.json
:
{
"name": "Test","version": "0.0.1","manifest_version": 2,"description": "Test","background": {
"scripts": [
"background.js"
],"persistent": false
},"browser_action": {
"default_title": "Test"
},"permissions": [
"activeTab"
]
}
这是background.js
:
hrome.browserAction.onClicked.addListener(function (tab) {
chrome.tabs.executeScript({'file': 'popup.js'})
});
这里是popup.js
:
var widgetHtml =
'<div id="main" style="position: fixed;top: 14px;">'+
' <p>some stuff goes here</p>'+
'</div>';
var iframe = document.createElement('iframe');
document.body.insertBefore(iframe,document.body.firstChild)
iframe.contentDocument.body.innerHTML = widgetHtml;
这在非 PDF 页面上就像一个魅力,但它不会在 PDF 页面上注入任何内容。如果我在控制台中使用确切的 popup.js 脚本,它当然也能正常工作。
我已经阅读了 Run a Chrome Plugin On a PDF Page,它试图自动检测 PDF,而这个 How to inject content script view on the PDF viewer?,但它似乎不起作用。我错过了什么?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)