由于我的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"]
}
]
}
答案 0 :(得分:1)
对于Chrome 19-,您必须inject the code并使用网站自己的方法切换剧集。
var s = document.createElement('script');
s.textContent = "getPlayerByMirror($('#Hoster_30'), 'Auto');";
s.onload = function() {
this.parentNode.removeChild(this);
};
document.head.appendChild(s);
(要找出必须调用的函数,我inspected the $().data('events')
object in the console:$('#Hoster_30').data('events').click[0].handler
)
在Chrome 20+中,使用内容脚本中的.trigger('click')
工作正常:
$('#Hoster_30').trigger('click');
谢谢Rob W。非常欢迎我和answering the Question!