2

私はchrome拡張機能が初めてです。拡張機能を作成するための最初のサンプル演習を試しました。今、拡張ポップアップから新しいタブで URL を開こうとしています。popup.html ページに HTML アンカー タグを追加しました。

a href="www.google.com">Click</a>

しかし、それは開いていません。ポップアップ内で次の URL を使用して URL を開こうとしています。

chrome-extension://ljamgfaclheagbikmcagffcbdbcoodna/www.google.com

私の popup.html にはこのコードがあります。

<!doctype html>
<html>
  <head>
    <title>Getting Started Extension's Popup</title>
    <style>
    </style>
    <!-- JavaScript and HTML must be in separate files for security. -->
     </head>
  <body>
  <b>Karthick</b>
  <a href="www.google.com">Click</a>
  </body>
</html>

そして My Manifest.json には次の JSON があります

{
  "name": "Test Extension",
  "version": "1.0",
  "manifest_version": 2,
  "description": "The first extension for my test",
  "browser_action": {
    "default_icon": "icon.png",
    "default_popup": "popup.html"
  },
  "permissions": [
    "tabs"
  ]
}

popup.js には何も書いていません。その方法を検索しました。しかし、彼らは私が次のものを使わなければならないと言いました。

chrome.tabs.getSelected({}, function(tab) {
  chrome.tabs.update(tab.id, {url: 'http://google.com'});
});

しかし、適切な方法/場所がわかりません。その手順を教えてください。前もって感謝します。

4

3 に答える 3

3

簡単。これをpopup.htmlに入れます:

<a href='google.com' target='_newtab'>Click</a>

または、これを JS ファイルに入れます。

window.open('http://google.com','_newtab');

于 2015-03-23T02:02:15.927 に答える
3

これが解決策です。次のコードを popup.js に追加するだけです。

$(function() {
  $('#s').click(function() {
     chrome.tabs.create({url: 'http://www.google.com'});
  });
});

document.addEventListener('DOMContentLoaded');

アンカー タグを次のように更新します。

<a id="s" href="www.google.com">Click</a>

jquery セレクターを使用しているため、popup.html を次のように更新します。

<!doctype html>
<html>
  <head>
    <style>
    </style>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script>
    <script src="popup.js"></script>
  </head>
  <body>
  <b>Karthick</b>
  <a href="www.google.com">Click</a>
  </body>
</html>

popup.html で jquery を許可するには、マニフェストを次のように更新します。

{
  "name": "Test Extension",
  "version": "1.0",
  "manifest_version": 2,
  "description": "The first extension for my test",
  "browser_action": {
    "default_icon": "icon.png",
    "default_popup": "popup.html"
  },
  "permissions": [
    "tabs"
  ],  //<<--- do not miss this ","
  "content_security_policy": "script-src 'self' https://ajax.googleapis.com; object-src 'self'"
}

これがうまくいかない場合は、これの crx を送ってください。乾杯!

于 2013-07-18T14:31:24.737 に答える
2

リンクの onclick-listener を追加できます。

var link = document.getElementById("link");
link.addEventListener("click", function(){
  chrome.tabs.getSelected({}, function(tab) {
    chrome.tabs.update(tab.id, {url: 'http://google.com'});
  });
}, false);

ただし、chrome.tabs.create()関数を使用します。

于 2012-10-31T10:14:38.747 に答える