2016-03-29 4 views
0

iframeに読み込まれたメニューを表示するブラウザ拡張があります。この設定を選択したので、ブラウザの拡張機能を更新することなくメニューを更新できます。メニューからのいくつかのアクションは、ページの変更をもたらします。私が持っている(重大な)問題は、ユーザーがiframe内のボタンをクリックしたときにこれまで検出できなかったことです。ないなど、私の理解からChrome拡張機能:ユーザーがiframeをクリックしたときの動作を設定します

、最高はcontent.jsからリスナーを持っていること、それが動作するかどうか、他の方法を使用して幸せだろう:)

メニューをロードcontent.js内の関数、機能リスナー:拡張機能の一部であり、web_accessable_resourceある

function showMenu() { 
    // Avoid recursive frame insertion... 
    var extensionOrigin = 'chrome-extension://' + chrome.runtime.id; 
    if (!location.ancestorOrigins.contains(extensionOrigin)) { 
    var iframe = document.createElement('iframe'); 
    // Must be declared at web_accessible_resources in manifest.json 
    iframe.src = chrome.runtime.getURL('menu.html'); 

    // Some styles for a fancy sidebar 
    iframe.style.cssText = "\ 
          position:fixed;\ 
          bottom:33%;\ 
          right:0px;\ 
          width:47px;\ 
          height:198px;\ 
          margin:0;\ 
          padding:0;\ 
          border:none;\ 
          overflow:hidden;\ 
          background:transparent;\ 
          z-index:999999;\ 
         "; 
    document.body.appendChild(iframe); 
    menuListener(iframe); 
    } 
} 

function menuListener() 
    { 
    jQuery(document).on("click", '#click-me', function() { 
     alert('Works!'); 
    }); 
    } 

menu.html:

<style> 
html, body, iframe, h2 { 
    margin: 0; 
    padding: 0; 
    border:none; 
    display: block; 
    width: 100vw; 
    height: 100vh; 
    background: transparent; 
    color: black; 
} 
h2 { 
    height: 50px; 
    font-size: 20px; 
} 
iframe { 
    height: calc(100vh - 50px); 
} 
</style> 

<iframe id="rpm-menu" src="https://www.example.com/"></iframe> 

とTである外部のページで、その後のdiv Oをクリックする:

<div id="click-me" class="menu-icon"> 
    <p>CLICK</p> 
    </div> 
+1

@Vincentねえ、私はあなたが正しく問うてしまった場合、これはあなたにhttp://stackoverflow.com/questions/13266192/accessing-iframe-from-chrome-extension?rq=1を助けるかもしれないと思います。 –

+0

ありがとうございました。私は今週末に作業を行い、今週末にフィードバックを投稿します。 – Vincent

答えて

関連する問題