Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/183.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么Android浏览器(Chrome/stock)会强制twitter关闭然后在同一个窗口中打开,即使使用了_blank或window.open?_Javascript_Android_Google Chrome_Twitter_Webintents - Fatal编程技术网

Javascript 为什么Android浏览器(Chrome/stock)会强制twitter关闭然后在同一个窗口中打开,即使使用了_blank或window.open?

Javascript 为什么Android浏览器(Chrome/stock)会强制twitter关闭然后在同一个窗口中打开,即使使用了_blank或window.open?,javascript,android,google-chrome,twitter,webintents,Javascript,Android,Google Chrome,Twitter,Webintents,举例说明我的意思: 在所有其他浏览器中,如果没有链接到twitter的意向页面,当您打开一个新窗口或目标空白时,它会在一个新选项卡中打开。但在安卓系统中,即使您将浏览器设置为处理到twitter.com的链接,新窗口也会打开,然后立即关闭,然后原始(呼叫)页面会导航到twitter.com。无法正常工作的示例代码(尽管我怀疑与此有关): 我的猜测是,这与Android处理“应用程序意图”有关:如果页面重定向到声称具有本机应用程序链接的内容,那么它会返回window.opener链,并影响原始页

举例说明我的意思:

在所有其他浏览器中,如果没有链接到twitter的意向页面,当您打开一个新窗口或目标空白时,它会在一个新选项卡中打开。但在安卓系统中,即使您将浏览器设置为处理到twitter.com的链接,新窗口也会打开,然后立即关闭,然后原始(呼叫)页面会导航到twitter.com。无法正常工作的示例代码(尽管我怀疑与此有关):

我的猜测是,这与Android处理“应用程序意图”有关:如果页面重定向到声称具有本机应用程序链接的内容,那么它会返回window.opener链,并影响原始页面

为了尝试阻止这种行为,我尝试使用window.open打开一个页面,等待几秒钟,然后重定向到twitter.com/intents。但即使在这里,新的标签也会打开,在转换页面上等待多少秒,然后在重定向时,它会自动关闭,而原来的标签会重定向到twitter.com。我已经尝试将window.opener设置为null(即使这不应该做任何事情)。我不确定twitter.com上的任何代码会如何影响原始页面,因为它们显然不在同一个域中(我已经尝试过设置,以便原始域上没有twitter的widgets.js,因此它们不能使用POSTMessage)

这似乎真的是Android处理意图的一个(糟糕的)怪癖。有人知道什么解决办法吗

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