在 WebView 中覆盖 AJAX 标头

Posted

技术标签:

【中文标题】在 WebView 中覆盖 AJAX 标头【英文标题】:Overriding AJAX Header in WebView 【发布时间】:2016-10-13 22:18:05 【问题描述】:

我在 android 上使用 WebView。我想通过注入下面的 javascript 来覆盖 AJAX 请求的标头。

XMLHttpRequest.prototype.realSend = XMLHttpRequest.prototype.send;
var newSend = function(vData) 
    this.setRequestHeader('ClientId', 'ANDROID');
    this.setRequestHeader('CustId', '%s');
    this.realSend(vData);
            ;
XMLHttpRequest.prototype.send = newSend;

我不确定为什么这不起作用。我已经直接在 chrome 上试过了,现在可以了。当相同的脚本插入 ios/Safari 时,它可以工作。

【问题讨论】:

【参考方案1】:

你有一个语法错误,函数结束括号 "; 除了它看起来没问题之外,我多次使用类似的代码

【讨论】:

这只是来自android studio的复制粘贴。但这对我不起作用。

以上是关于在 WebView 中覆盖 AJAX 标头的主要内容,如果未能解决你的问题,请参考以下文章

javascript之Ajax获取和设置标头

如何在BackboneJS模型中的所有AJAX调用中添加自定义HTTP标头?

我的片段中有 webview,当滑动 webview 时, viewPager 也开始滑动

如何在同一个 Activity onCreate() 中执行 WebView 和 ListView?

在 webview 中加载 URL 时面临问题

在 android 中使用 okhttp 在 webview 中的每个请求中发送授权标头