javascript - JavaScript 重定向在 Facebook 应用内浏览器中不起作用
问题描述
我们在网站上有一个中央网页,可根据某些条件将用户重定向到某些特定页面。重定向逻辑是用 JavaScript 编码的,使用 window.location.href 但是这种重定向在 Facebook In App Browser 中总是失败,它在除 Facebook In-App-Browser 版本 323 之外的所有其他移动浏览器中都能正常工作。
我已经尝试了下面列出的所有其他可能的 JavaScript 重定向选项,但它们似乎都失败了。
<html><body><script type='text/javascript'> window.open("http://conv-test.mnetads.com/client-side-second-hop/");</script></body>
<html><body><script type='text/javascript'> eval('window.location.href ="http://conv-test.mnetads.com/client-side-second-hop/"');</script></body>
<html><body><script type='text/javascript'> setTimeout(window.location.href ="http://conv-test.mnetads.com/client-side-second-hop/", 10000);</script></body>
<html><body><script type='text/javascript'> setTimeout(window.onload = function(e){ location.replace("http://conv-test.mnetads.com/client-side-second-hop/"); }, 5000);</script></body>
<html><body><script type='text/javascript'> window.location ="http://conv-test.mnetads.com/client-side-second-hop/";</script></body></html>
// Sets the new location of the current window.
<html><body><script type='text/javascript'> window.location.assign("http://conv-test.mnetads.com/client-side-second-hop/");</script></body></html>
// Assigns a new URL to the current window.
<html><body><script type='text/javascript'> window.location.replace("http://conv-test.mnetads.com/client-side-second-hop/");</script></body></html>
// Replaces the location of the current window with the new one.
<html><body><script type='text/javascript'> self.location ="http://conv-test.mnetads.com/client-side-second-hop/";</script></body></html>
// Sets the location of the current window itself.
<html><body><script type='text/javascript'> top.location ="http://conv-test.mnetads.com/client-side-second-hop/";</script></body></html>
// Sets the location of the topmost window of the current window.
<html><body><a href="http://conv-test.mnetads.com/client-side-noreferrer/" id="max">Max</a><script type="text/javascript"> document.getElementById("max").click();</script></body></html>
<html><body><script type='text/javascript'>document.location.href ="http://conv-test.mnetads.com/client-side-second-hop/";</script></body></html>
<http-equiv="refresh" content="0; url='http://conv-test.mnetads.com/client-side-second-hop/'">
解决方案
这是一个错误。并且在即将发布的新版本中已修复。我已经测试过了。
推荐阅读
- react-native - 如何将数据发送到硬件上的先前路线按反应导航 5
- mongodb - MongoDB 存储 API 调用
- c# - 在 Blazor 中绑定使用 InputFile 选择的文件
- php - Opencart htaccess 以减少服务器响应时间和缓存
- android-layout - Xamarin.Android:水平滚动条不适用于 SfPulltoRefresh
- swift - 无法转换“SharedSequence”类型的值
' 到预期的参数类型 - apache-kafka - 如何在不使用 Docker 或 Windows Server 2016 上的 Confluent 平台的情况下在 Kafka 中设置 Debezium SQL Server 连接器?
- javascript - 强制 Facebook 使用风格
- android - 如何在片段布局中创建微调器?
- python - 使用 pdf2image 从目录中提取 pdf 并将图像输出到不同的目录