相关疑难解决方法(0)

Firefox扩展程序生成的事件是否"受信任"?

我的Firefox扩展程序生成事件,例如单击.作为响应,Web应用程序尝试打开一个新窗口.然而,当Popup拦截器开始时,它被Firefox阻止.但是,如果我手动点击一个按钮并在Web应用程序尝试打开窗口时响应,那么它就会通过.

我的问题是为什么我的扩展程序生成的事件不被视为"受信任",并且在用户点击时以相同的方式处理?是否有一些后门来实现这种行为?

firefox firefox-addon dom-events

7
推荐指数
1
解决办法
2852
查看次数

在Chrome扩展程序中模拟点击

我正在制作镀铬扩展程序.此扩展的一部分需要能够模拟单击以激活页面上的onClick事件.以下是后台脚本中的代码:

function checkForValidUrl(tabId, changeInfo, tab) {
  // If the letter 'g' is found in the tab's URL...
  if (tab.url.indexOf('maps') > -1 && tab.url.indexOf('google') > -1) {
    // ... show the page action.
    chrome.pageAction.show(tabId);

  }
};

// Listen for any changes to the URL of any tab.
chrome.tabs.onUpdated.addListener(checkForValidUrl);


chrome.pageAction.onClicked.addListener(function() {
    document.getElementById("paneltoggle2").click();
});
Run Code Online (Sandbox Code Playgroud)

这是我从chrome的java脚本调试中得到的错误消息:

Error in event handler for 'pageAction.onClicked': Cannot call method 'click' of null TypeError: Cannot call method 'click' of null
    at chrome-extension://deogcaeekneeagffbhdlflichjlodlem/js/main.js:26:42
    at chrome.Event.dispatchToListener (event_bindings:387:21)
    at chrome.Event.dispatch_ (event_bindings:373:27)
    at …
Run Code Online (Sandbox Code Playgroud)

javascript google-chrome javascript-events google-chrome-extension

5
推荐指数
1
解决办法
4742
查看次数

为什么 Input.dispatchMouseEvent 不调度事件?

我正在尝试调度一个 IsTrusted 事件来模拟用户单击屏幕上的某个位置。我正在通过 Chrome 扩展尝试这一点,尽管我运气不太好。控制台中没有错误,并且我的巨大屏幕按钮没有被点击。这是我的background.js

chrome.browserAction.onClicked.addListener(function(tab) {
    chrome.tabs.query({active: true, currentWindow: true}, function(tabs) {
        var activeTab = tabs[0];
        chrome.runtime.onMessage.addListener(
            function(request, sender, sendResponse) {
              if( request.message === "clickElement" ) {
                chrome.debugger.attach({tabId:tab.id}, "1.2", function(debugg) {
                    chrome.debugger.sendCommand(
                        {tabId:tab.id}, "Debugger.enable", {},
                        function() {
                            chrome.debugger.sendCommand({tabId:tab.id}, "Input.dispatchMouseEvent", 
                            {
                                type:"mousePressed",
                                x:parseFloat(request.x),
                                y:parseFloat(request.y)
                            })
                        })
                })
              }
            }
        );
        chrome.tabs.sendMessage(activeTab.id, {"message": "runbot"});
    });
});
Run Code Online (Sandbox Code Playgroud)

content.js只是发送带有按钮坐标的 clickElement 消息。

有任何想法吗?

javascript google-chrome-extension

1
推荐指数
1
解决办法
2936
查看次数