したがって、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);
はすべてのことを言った...あなたのコードはうまくhttps://jsfiddle.net/4jffmwwz/に動作します...しかし、なしがあります'dropdown'なので、' dropdown.js'と 'createtab.js'のどちらかが、" submit "ボタンでDOMに加えられた変更を"見て "いないかもしれません - そのコードを見ることなく、 wあなたが表示していない2つのファイルのうちの1つが –
で動作しませんが、すべてがメモ帳を介して機能するという唯一の結論ですが、Chromeではリンクが機能しなくなりますか?私は論理を理解していません申し訳ありませんが、それは正しく追加されているので、なぜフォームが機能しないのかわかりません。 – spyang302
'すべてがメモ帳で動作します - これはどういう意味ですか?メモ帳はブラウザではありません...ウェブページのDOMを動的に変更しています...これはウェブページのソースを編集して再ロードするのと同じではありません –