Titanium:如何在加载WebView时设置referer

时间:2016-01-22 15:13:39

标签: uiwebview titanium appcelerator

我目前正在使用此

mywebview.setUrl(the_url);

加载网址。

我可以加载它,以便在http标头中包含一个引用程序吗?

编辑:原因是链接到的网站应该能够看到流量来自哪里,即使URL被加载到与包含链接的网页不同的网页视图中。 (我使用多个WebView来创建选项卡UI。)

编辑: xcode等价似乎就是这个,虽然我不确定这是否也将它加载到新的webview中:Specifying HTTP referer in embedded UIWebView

2 个答案:

答案 0 :(得分:1)

似乎还没有为WebView定义自定义标头。您可以观看票证TIMOB-17467以查看更新。

看起来你需要一个原生模块。

快速检查iOS ..

也许你可以扩展这些。

通过extraHeaders,Android似乎更容易实现(但仍未在Titanium SDK中提供):阅读更多内容:https://stackoverflow.com/a/5342527

答案 1 :(得分:0)

我查看过Android Webview标题(php getallheaders())并且x-requested-with: com.app.id

因此,在您的页面中,您可以检查该值,并至少知道应用程序使用捆绑包标识符访问了该值。否则,您可以将get参数附加到网址?mobile并计算此数。

我正在尝试向Android SDK添加补丁并添加setHeader()方法。 loadUrl()调用位于: https://github.com/appcelerator/titanium_mobile/blob/bc85170157d3bebc5de1d61a9fe6e34bce84a8c9/android/modules/ui/src/java/ti/modules/titanium/ui/widget/webview/TiUIWebView.java#L462

如果您根据@tzmartin

进行更改
extraHeaders.put("Referer", "http://www.referer.tld/login.html");
getWebView().loadUrl(finalUrl, extraHeaders);

然后它已经可以工作,但它的硬编码。