1

私が意味するものの例:

http://jsfiddle.net/dtipson/ttebddd5/2/

他のすべてのブラウザーでは、Twitter のインテント ページにリンクしていない場合、新しいウィンドウを開くか空白をターゲットにすると、新しいタブで開きます。しかし、android では、ブラウザーで twitter.com へのリンクを処理するように設定した後でも、新しいウィンドウが開いてすぐに閉じ、元の (呼び出し元の) ページが twitter.com に移動します。正しく動作しないコードの例 (これと関係があるとは思えませんが):

window.open(
            'https://twitter.com/intent/tweet?text=hi',
            'intent',
'scrollbars=yes,resizable=yes,toolbar=no,location=yes,status=no,width=550,height=420');

私の推測では、これは Android が「アプリケーション インテント」を処理することと関係があると考えられます。ページがネイティブ アプリケーション リンクを持っていると主張するものにリダイレクトされる場合、window.opener のチェーンを遡り、代わりに元のページに影響を与えます。

この動作をブロックするために、window.open を使用して、数秒待ってから twitter.com/intents にリダイレクトするページを開こうとしました。しかし、ここでも、新しいタブが開き、その遷移ページで何秒も待機し、リダイレクトされるとすぐに閉じて、代わりに元のタブが twitter.com にリダイレクトされます。window.opener を null に設定しようとしました(何もしないはずですが)。twitter.com のコードが元のページにどのように影響するかはわかりませんが、それらは明らかに同じドメイン上にないためです (元のドメインに Twitter の widgets.js が含まれないように設定しようとしました)。であるため、POSTMessage を使用することはできません)。

これは、Android がインテントを処理する方法に関する (imho, bad) 癖のようです。回避策を知っている人はいますか?

4

0 に答える 0