그래서 popup.html에서 Chrome으로로드 할 때 작동하는 링크가 있지만 forminput.js를 사용하여 일부 링크를 추가 할 때 링크가 있습니다. 링크가 추가되고 메모장 ++에서 실행하면 작동하지만 크롬에로드 할 때 dropdown.js 및 createtab.js가 작동하고이 문제와 관련이 없으며 탭을 열 때 논리가 포함됩니다 및 드롭 다운 메뉴 처리. 감사합니다덧붙여서 <a> 크롬에서는 작동하지 않지만 메모장 ++에서 작동합니까?
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 개미, 유일한 결론은 당신이 보여주지 않은 두 파일 중 하나가 –
을 작동하지 않지만 메모장을 통해 모든 것이 작동한다는 것입니다. 크롬에서 링크가 작동하지 않게되는 원인은 무엇입니까? 나는 논리가 미안하다는 것을 이해하지 못한다. 올바르게 부가되어서 왜 형식이 작동하지 않는지 알 수 없다. – spyang302
'하지만 메모장을 통해 모든 것이 작동한다. - 이것은 무엇을 의미 하는가? 메모장은 브라우저가 아닙니다 ... 웹 페이지에서 DOM을 동적으로 변경하고 있습니다 ... 웹 페이지의 소스를 수정하고 다시로드하는 것과 동일하지 않습니다 –