0

したがって、popup.htmlには、Chromeにロードするときに動作するリンクがいくつかありますが、forminput.jsを使用してリンクを追加するといくつかのリンクがあります。リンクが追加され、Notepad ++から起動しても動作しますが、Chromeにロードするときに動作しません。dropdown.jsとcreatetab.jsの両方がうまく動作し、この問題とは関係がありません。タブを開くためのロジックが含まれていますドロップダウンメニューを処理します。おかげ付いています<a> Chromeで動作しないリンクがありますが、Notepad ++で動作しますか?

popup.html

<body> 
<form id="aform"> 
    URL:<br> 
    <input type="text" name="URL" id="URL"> 
    <br> 
    Bookmark Name:<br> 
    <input type="text" name="bookmarkname" id="bookmarkname"> 
    <br><br> 
    <input type="button" id="formsubmit" value="Submit"> 
</form> 
<div class="dropdown"> 
    <button class="dropbtn" id="dropdown">Links</button> 
    <div id="myDropdown" class="dropdown-content"> 
    <a href="https://www.youtube.com">Youtube</a> 
    <a href="https://www.amazon.com">Amazon</a> 
    <a href="https://www.yahoo.com">Yahoo</a> 
    </div> 
</div> 

<script src="forminput.js"></script> 
<script src="dropdown.js"></script> 
<script src="createtab.js"></script> 

manifest.jsonを

{ 
    "name" : "Links", 
    "version" : "1.0", 
    "description" : "links 4 u", 

    "manifest_version" : 2, 

    "browser_action": { 
     "default icon":"icon.png", 
     "default_popup":"popup.html" 
    }, 

    "permissions": [ 
     "tabs", 
     "storage" 
    ] 
} 

forminput.js

function retrieveFormData() { 

      var URL = document.getElementById("URL").value; 
      var Bookmarkname = document.getElementById("bookmarkname").value; 
      var y = document.getElementById("myDropdown"); 
      var aTag = document.createElement('a'); 
      aTag.appendChild(document.createTextNode(Bookmarkname)); 
      aTag.href = URL; 
      y.appendChild(aTag); 
} 


document.getElementById("formsubmit").addEventListener("click",retrieveFormData); 
+0

はすべてのことを言った...あなたのコードはうまくhttps://jsfiddle.net/4jffmwwz/に動作します...しかし、なしがあります'dropdown'なので、' dropdown.js'と 'createtab.js'のどちらかが、" submit "ボタンでDOMに加えられた変更を"見て "いないかもしれません - そのコードを見ることなく、 wあなたが表示していない2つのファイルのうちの1つが –

+0

で動作しませんが、すべてがメモ帳を介して機能するという唯一の結論ですが、Chromeではリンクが機能しなくなりますか?私は論理を理解していません申し訳ありませんが、それは正しく追加されているので、なぜフォームが機能しないのかわかりません。 – spyang302

+1

'すべてがメモ帳で動作します - これはどういう意味ですか?メモ帳はブラウザではありません...ウェブページのDOMを動的に変更しています...これはウェブページのソースを編集して再ロードするのと同じではありません –

答えて

0

ポップアップが別々のDOCUMEですNT(extensions architectureを参照)クローム拡張機能である拡張の内部URL、外にナビゲートすることができない:// blablablabla/

あなたは、リンクを開きたい場合は、すべてのリンクにtarget="_blank"属性を追加したり、tabs APIを使用する必要があります現在のタブで("tabs"許可または、はるかに良い、"activeTab"が必要です):

chrome.tabs.update({url: 'https://www.google.com'}); 
+0

あなたは驚くべき男です、追加ターゲット属性は、あなたをありがとう! – spyang302

関連する問題