2

Chrome 拡張機能があり、その popup.html に oauth/openid ログイン ページへのリンクがあります。このようなページに正確に

このログイン ページは、アドレス バーのみのポップアップ ブラウザ ウィンドウで開く必要があります。他のツール/メニュー バーがあってはなりません。window.open chrome.windows.createと 方法を試しwindow.showModalDialogました。

それらはすべて、私が望む方法でポップアップタブを作成しますが、何があってもアドレスバーを表示するものはありません。popup.html をブラウザで直接閲覧すると、リンクをクリックするとアドレスバーが表示されます。ただし、拡張機能を介してポップアップがロードされた場合はそうではありません。

このページには oauth/openid ログイン ページが表示されるため、ポップアップに表示される現在のページのアドレスをユーザーが確認することが絶対に必要です。アドレスバーのないページに facebook/google 資格情報を提供する人はいません。

どんな助けも本当に感謝しています。

4

2 に答える 2

5

周りを見回したところ、これは既知のバグのようです
.... %20OS%20Area%20Feature%20Status%20Owner%20Summary
将来の更新のためにスターを付ける必要があります。おそらく、状況についてもコメントする必要があると思います。

拡張コードから必要なポップアップを取得できる唯一の方法は、タブを開き、ポップアップを開いてからタブを閉じることです...理想からはほど遠いです。
しかし、それで十分な場合は、ここにいくつかのサンプルコードがあります....

マニフェスト.json

{
  "name": "Popup with adresse bar",
  "version": "1.0",
  "permissions": [
    "tabs", "<all_urls>"
  ],
  "browser_action": {
      "default_title": "Popup with adresse bar.",
      "default_icon": "icon.png",
      "default_popup": "popup.html"
  },
  "manifest_version" : 2
}

popup.html

<!doctype html>
<html>
  <head>
    <script src="popup.js"></script>
  </head>
  <body>
    <a id='clicky' href='#'>clicky</a>
  </body>
</html>

popup.js

clicky = function() {
    chrome.tabs.create({
        url: 'open.html#' + 'http://www.google.com',
        active: false
    });
}
onload = function() {
    document.querySelector('#clicky').onclick = clicky;
}
window.onload = onload;

open.html

<script src='open.js'></script>

open.js

window.close();
window.open(window.location.hash.substr(1), '…', '…');
于 2012-07-22T16:06:12.587 に答える
2

わかりました。この質問を試してみます。アドレスバーが非表示になっていることについて、あなたが話していることを理解しました。たとえば、私のrem-i-con拡張機能。ユーザーが登録していない場合は、新しいタブが開き、アカウントを作成するかログインするように求められます。ただし、アドレスバーは空白です。

ただし、popup.htmlファイルには、ウィンドウに表示されているアドレスで新しいタブを開くリンクがいくつかあります。モデルタイプのウィンドウが必要なことは理解していますが、それができるかどうかはわかりません。これがあなたが試すことができるものです。

定期的なリンクを持っているasdd

クリックすると、開いたばかりのタブを監視するリスナーを表示できます。これは、アクティブなタブをスキャンすることで簡単に実行できます。

次に、タブを閉じたら、popup.htmlファイルをリロードできます。これには、background.htmlファイルを使用する必要があります。

これが機能する場合は、タグのクリックを自動化できます。


于 2012-07-20T16:00:05.600 に答える