13

うまくいったものは何も見つかりませんでした。私は次のすべてを試しましたが、役に立ちませんでした。

  • 属性target="_blank"をに追加しました<a>
  • target="someName"に追加<a>
  • URLはで始まります'/'
  • URLはで始まりますMeteor.absoluteUrl()
  • URLMeteor.absoluteUrl()"http://"削除されたもので始まります
  • 文字列リテラルとしてのURL、テンプレートヘルパーから返されません
  • <a>{{#constant}}テンプレートの領域内
  • <a>{{#constant}}テンプレートの領域内ではありません
  • <a>テンプレートの外側のボディに
  • <a>ブラウザコンソールの本文に追加
  • window.open([url],[target])前述のすべての組み合わせで。

新しいタブでページhttp://を開いた、で始まらないURLを除いて、すべての場合で、リンクはクリックされた場所と同じタブで開きます。about:blank

これを引き起こしている原因、またはそれを解決する方法はありますか?

4

4 に答える 4

9

これはバグのようです。Meteor は とのリンクを無視すべきだと思いますtarget="_blank"問題トラッカーで問題を作成できるかもしれません

そうは言っても、回避策としてこれを成功させました:

test.html

<template name="test">
  <a href="/new-window" target="_blank">Open new window</a>
</template>

test.js

Template.test.events({
  'click a[target=_blank]': function (event) {
    event.preventDefault();
    window.open(event.target.href, '_blank');
  }
});

http://また、外部リンクの追加が機能することがわかりました。

<a href="http://twitter.com" target="_blank">Open new window</a>

これらのことがうまくいかなかった理由がわかりません。ただし、Chrome でしかテストしていないため、これはブラウザーの問題である可能性があります。

于 2012-12-17T17:38:39.817 に答える
0

phonegap を使用している場合。答えはこちら phonegap ブラウザでリンクを開く

于 2014-10-24T16:50:47.760 に答える
-1

このグローバル ヘルパーを作成します

Helpers.addHttp = function (url) {
  if (!/^(f|ht)tps?:\/\//i.test (url)) {
    url = "http://" + url;
  }
  return url;
}

テンプレートで使用する

<a href="{{addHttp url}}" target="_blank">some text</a>
于 2014-11-12T12:13:57.647 に答える