我有一个扩展程序,当单击上下文菜单时,该扩展程序将在网页中插入一个“ div”。在除pdf文件之外的普通网页上,此方法都可以正常工作。
chrome pdf查看器打开pdf文件,右键单击鼠标时我可以在上下文菜单中看到该项目,但是当我单击上下文菜单项时,什么也没有发生。但是,其他扩展程序的上下文菜单仍然有效。
那么,要使上下文菜单正常工作,需要采取什么特殊处理措施?
一些设置:
chrome.contextMenus.create({
id:'menuid',
title: 'My Menu',
contexts: ['all']
})
chrome.contextMenus.onClicked.addListener(function (info, tab) {
if (info.menuItemId === 'menuid') {
chrome.tabs.sendMessage(tab.id, {
type: 'contextMenus',
info: info,
tab: tab
}, {})
}
})
chrome.runtime.onMessage.addListener(function (request, sender, sendResponse) {
if (request.type === 'contextMenus') {
InsertingElement(request.info, request.tab)
}
})
似乎InsertingElement
没有在pdf页面中触发。而且似乎很多事件都不可用,例如,当我在内容脚本中添加以下内容时:
document.addEventListener('pointerup', pointerUpProcess)
document.addEventListener('click', clickProcess)
当我单击打开的pdf页面时,不会触发回调函数。我想知道 如果chrome pdf查看器拦截并禁用了这些事件。如果是这样,如何启用 他们吗?
我做了另一个实验,方法是从内容脚本中注入按钮并设置回调 按钮中的click事件功能起作用。