从内容脚本调用注入按钮到background.js

时间:2013-11-07 08:51:52

标签: javascript google-chrome-extension content-script message-passing

我正在编写一个chrome扩展程序,它将一个按钮注入到youtube页面中。该按钮在我的内容脚本中创建并注入页面。我的问题是我不知道如何在内容脚本或后台脚本中为它构建一个click函数。

我的内容脚本(注入按钮):

 $("watch7-user-header").innerHTML+=
 '<div id="trans"> 
    <iframe name="iframe"></iframe>
    <span class="buttonGroup">
        <button id="download">
            <span class="buttonContent1">'+x+'</span> 
        </button>
        <button id="menu" class=" yt-uix-button  yt-uix-button-default" onclick="";return false;"> //this is the dropdown menu
            <span class="buttonContent1">
            </span>
            <ul id="stylelist" class="yt-uix-button-menu hid">'+o+S+"</ul>
        </button>
    </span>
</div>"

如何在后台脚本中调用单击事件?

1 个答案:

答案 0 :(得分:0)

您无法从后台页面“点击”按钮。如果您希望这样做,则必须 send a message 到内容脚本为您执行此操作。

从内容脚本中,您可以这样做:

var evt = new MouseEvent('click', {
    view: window,
    bubbles: true,
    cancelable: true
});
document.querySelector('<yourElementSelector>').dispatchEvent(evt);

<强>更新

如果您尝试点击<button>元素,则可以执行以下操作:

document.querySelector('<yourButtonSelector>').click();