0

그래서 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); 
+0

모든 것을 ... 당신의 코드가 잘 https://jsfiddle.net/4jffmwwz/ 작동 ...하지만, 거기에 아무 말도하지 않았다 한 'dropdown'은 아마도'dropdown.js'와'createtab.js' 중 하나가 "submit"버튼으로 DOM에 대한 변경을 "보고"있지 않을 것입니다 - 코드를 보지 않고 링크를 추가하는 것이 당신처럼 작동한다는 사실 w 개미, 유일한 결론은 당신이 보여주지 않은 두 파일 중 하나가 –

+0

을 작동하지 않지만 메모장을 통해 모든 것이 작동한다는 것입니다. 크롬에서 링크가 작동하지 않게되는 원인은 무엇입니까? 나는 논리가 미안하다는 것을 이해하지 못한다. 올바르게 부가되어서 왜 형식이 작동하지 않는지 알 수 없다. – spyang302

+1

'하지만 메모장을 통해 모든 것이 작동한다. - 이것은 무엇을 의미 하는가? 메모장은 브라우저가 아닙니다 ... 웹 페이지에서 DOM을 동적으로 변경하고 있습니다 ... 웹 페이지의 소스를 수정하고 다시로드하는 것과 동일하지 않습니다 –

답변

0

팝업은 별도의 DOCUME입니다 크롬 확장 확장의 내부 URL 외부 탐색 할 수 없습니다 NT (extensions architecture 참조) : // blablablabla/

당신은 모든 링크에 target="_blank" 속성을 추가하거나 링크를 열려면 tabs API를 사용할 필요가

현재 탭에서 ("tabs" 허가 또는, 더 나은, "activeTab" 필요) :

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

당신은 놀라운 야, 목표 속성을 추가, woking, 감사합니다! – spyang302

관련 문제