2010-12-28 5 views
7

Chrome 확장 프로그램에 링크가 있습니다. 현재 링크를 클릭하면 아무 것도 할 수 없으며 클릭하면 새 탭에서 열리도록하고 싶습니다. 이것이 가능한가?탭에서 popup.html 링크를 여는 방법은 무엇입니까?

+0

여기에도 좋은 답변이 있습니다. http://stackoverflow.com/questions/8915845/chrome-extension-open-a-link-from-popup-html-in-a-new-tab – rogerdpack

답변

17

링크에 target="_blank"을 추가하십시오.

또 다른 방법은 링크에서 mousedown 이벤트에 대한 링크 열기 자바 스크립트 코드를 첨부하는 것입니다.

또한 target="_blank"로 열린 모든 링크를 만들기 위해 base 태그를 사용할 수 있습니다 :

<head> 
    <base target="_blank"> 
</head> 
+0

방법? – user556396

+1

+1. 링크에'http : //'(www.가 아니라)를 지정했는지 확인하십시오. 그렇지 않으면 확장자에 상대적으로 열립니다. – Kai

+0

@ user556396 업데이트를 참조하십시오 – serg

6

을보기가와 이것은 나의 접근이었다 :

  1. 링크가 포함 된 popup.html을 만듭니다 (Chrome이 차단할 때 클릭하면 링크가 작동하지 않음).
  2. popup.js를 만들고 페이지에 연결 : <script src="popup.js" ></script>
  3. 이 popup.js에 다음 코드를 추가합니다 : 모두의

    document.addEventListener('DOMContentLoaded', function() { 
        var links = document.getElementsByTagName("a"); 
        for (var i = 0; i < links.length; i++) { 
         (function() { 
          var ln = links[i]; 
          var location = ln.href; 
          ln.onclick = function() { 
           chrome.tabs.create({active: true, url: location}); 
          }; 
         })(); 
        } 
    }); 
    

를, 링크는 그 후 작동합니다.

+0

클로저에서 변수 'i'를 닫는 것을 잊었습니다. 또한,'chrome.tabs.create'는 권한을 필요로하지 않습니다. –

+0

i를 닫을 필요가 없습니다. ln과 location 만 있으면 충분합니다. 당신은 허가에 대해 옳았고, 제 대답을 수정했습니다. – lasantha

관련 문제