繁体   English   中英

jQuery.trigger('click')在Mac上的Chrome扩展程序中不起作用

[英]jQuery.trigger('click') doesn't work in Chrome Extension on Mac

由于我的Chrome扩展程序在Mac下不起作用,我打破了代码并发现了问题:

background.js

chrome.browserAction.onClicked.addListener(function(tab){
    alert("Goin to");
    chrome.tabs.executeScript(tab.id, {file: "script.js"});
});

的script.js

$('#Hoster_30').trigger('click');
alert("Clicked");

加载了jQuery并显示了两个警报,但未触发click事件。 当我直接在页面上的js控制台中输入触发器时,它工作正常,在Windows下,它也适用于添加。

在这里我的manifest.json

{
    "name": "MacAddon",
    "version": "0.1",
    "permissions": ["tabs", "http://*/", "https://*/"],
    "background": {
        "scripts": ["background.js"]
    },  
    "browser_action": {
        "default_title": "MacAddon"
    },
    "content_scripts": [
    {
      "matches": ["http://*.kinox.to/*", "http://*.streamcloud.eu/*"],
      "js": ["jquery.js"]
    }
    ]
}

对于Chrome 19-,您必须注入代码并使用网站自己的方法来切换剧集。

var s = document.createElement('script');
s.textContent = "getPlayerByMirror($('#Hoster_30'), 'Auto');";
s.onload = function() {
    this.parentNode.removeChild(this);
};
document.head.appendChild(s);

(为了找出必须调用哪个函数,我在控制台中检查了$().data('events')对象$('#Hoster_30').data('events').click[0].handler )。
在Chrome 20+中,使用内容脚本中的.trigger('click')工作正常:

$('#Hoster_30').trigger('click');

谢谢Rob W。 在这里欢迎我并回答这个问题

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM