Почему браузеры Android (Chrome/stock) заставляют твиттер закрываться и открываться в том же окне, даже когда используются _blank или window.open?

Пример того, что я имею в виду:

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

Во всех других браузерах, а также в случаях, когда ссылки на страницы намерений твиттера не связаны, когда вы открываете новое окно или целевую пустую область, она открывается в новой вкладке. Но с 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 в ноль (хотя это ничего не должно делать). Я не уверен, как какой-либо код на twitter.com может даже повлиять на исходную страницу, поскольку они явно не находятся в одном домене (и я попытался настроить его так, чтобы на исходном домене не было твиттера widgets.js). поэтому они не могут использовать POSTMessage).

Похоже, это действительно (странно, плохо) причуды с тем, как Android обрабатывает намерения. Кто-нибудь знает какие-либо обходные пути?

0 ответов

Другие вопросы по тегам