2016-12-22 15 views
0

クリックするとポップアップウィンドウが開き、そのウィンドウの内側にボタンが表示されるクロムエクステンションを作成しようとしています。ボタンをクリックすると、ポップアップウィンドウの現在のタブのリンクに更新されます。クロム拡張ポップアップウィンドウ内に現在のタブリンクを保存します

See this picture, this is my window popup

しかし、私はボタンをクリックすると、何も動作...ここ は、私がこれまで持っているものです。

manifest.jsonを:

{ 

    "manifest_version": 2, 

    "name": "Save", 

    "description": "Save tab link.", 

    "version": "0.1", 

    "browser_action": { 

    "default_icon": "/img/icon.png", 
    "default_popup": "popup.html", 
    "default_title": "See your saved websites!" 
     }, 

    "permissions": [ 
     "tabs" 
     ] 
} 

popup.html:

<html> 
 
    <head> 
 
    <title>Your articles</title> 
 
    <link href="/css/style.css" rel="stylesheet"/> 
 
    <script src="popup.js"></script> 
 
    </head> 
 
    <body> 
 
    <div id="div">No content yet! Click the button to add the link of the current website!</div> 
 
    <br/> 
 
    <button id="button">Add link!</button> 
 
    </body> 
 
</html>

最後に、popup.js:

// event listener for the button inside popup window 
 
document.addEventListener('DOMContentLoaded', function() { 
 
    var button = document.getElementById('button'); 
 
    button.addEventListener('click', function() { 
 
     addURL(); 
 
    }); 
 
}); 
 

 
// add the URL inside the popup-window's <div> 
 
function addURL() { 
 
// store info in the the queryInfo object as per: https://developer.chrome.com/extensions/tabs#method-query 
 
    var queryInfo = { 
 
    currentWindow: true, 
 
    active: true 
 
    }; 
 
    
 
    chrome.tabs.query(queryInfo, function(tabs) { 
 
    // tabs is an array so fetch the first (and only) object-elemnt in tab 
 
    // put URL propery of tab in another variable as per: https://developer.chrome.com/extensions/tabs#type-Tab 
 
    var url = tabs[0].url; 
 
    
 
    // put the content into the popup-window's <div> 
 
    document.getElementById("div").innerHTML(url); 
 
    }); 
 
}

私は誰かが私を助けることができることを願っています:)

+0

@HaibaraAi記載:改善のための質問の編集(例:明確化、追加情報の追加など)*が推奨されます*。しかし、回答を無効にする別の質問に変更する質問を編集すると、スタックオーバーフローに関するポリシーに違反します。あなたの編集はそうでした。このポリシーは、他のユーザーがこうした変更を積極的に元に戻す必要があるというポリシーです。私はここでそうした。あなたは*新たな質問のために(http://stackoverflow.com/questions/ask)*、おそらく追加の文脈のためのこのへのリンクで*お勧めします*。私たちは助けたいと思っていますが、あなたの新しい問題は新しい質問である必要があります。 – Makyen

+1

リビジョンを確認し、編集中のソーステキストを取得することができます。[このリンク先](http://stackoverflow.com/posts/41280221/revisions) – Makyen

+0

@Makyen、正直言って、そんなことは考えていませんでした。私は彼女の答えが無効になることを望んでいませんでした。私はHaibaraAiに謝罪し、このポリシーに反対するつもりはなかったので、以前の状態に戻す方法を尋ねました。私が作成した大騒ぎには申し訳なく思っていますが、私は次回はそれをやりませんと約束します。 – Kobrajunior

答えて

0

document.getElementById("div").innerHTML(url); 

を交換してください

document.getElementById("div").innerHTML = url; 
+0

大変ありがとうございました!私はこの小さな過ちを全く見ませんでした! – Kobrajunior

+0

編集したバージョンを見ていただけますか? – Kobrajunior

+0

@Kobrajunior、あなたは私の答えが無意味になる前の投稿を削除すべきではありません。追加の質問については、説明とともに別の質問を提出する必要があります。 –

関連する問題