我想在我自己的嵌入式WebViews中禁用XMLHttpRequests上的同源策略。我可以控制WebView中加载的页面/执行的代码,所以我不关心是否执行同源策略。我想进行跨域请求。
我已经尝试实现了WebPolicyDelegate和WebResourceLoadDelegate,但似乎没有为XMLHttpRequests调用它们。
发布于 2010-10-16 13:28:45
void WebSettingsImpl::setWebSecurityEnabled(bool enabled)
{
m_settings->setWebSecurityEnabled(enabled);
}希望这就是你所需要的!你可以给我发一条webkit的消息。
发布于 2012-03-22 23:19:37
我正在寻找如何在OSX上做到这一点。原来WebPreferences有一个私有方法:setWebSecurityEnabled。将其设置为false,它应该可以工作。
http://trac.webkit.org/browser/trunk/Source/WebKit/mac/WebView/WebPreferences.mm?rev=111350#L1011
举个例子:
NSString* noSecurityPreferencesId = @"noSecurity";
WebPreferences* prefs = [[WebPreferences alloc] initWithIdentifier: noSecurityPreferencesId];
[prefs setWebSecurityEnabled: false];
[webView setPreferencesIdentifier: noSecurityPreferencesId];发布于 2010-09-08 08:18:57
我认为你很难找到一种对你有用的方式来做这件事。你有没有考虑过JSONP而不是XHRs?http://en.wikipedia.org/wiki/JSON
高级概述是,JSONP使用与上面使用的相同的机制来请求外部脚本。不同之处在于,您的服务器将识别这一点,并将JSON响应打包为回调方法的参数。当您的站点接收到这个“脚本”时,它会执行它,从而将数据直接返回到您的回调方法中。
如果您能够使用像jQuery这样的框架,那么大多数客户端都可以透明地为您处理。实际上,它将使用与XHR (AJAX)请求相同的方法。点击这里查看:http://api.jquery.com/jQuery.getJSON/
https://stackoverflow.com/questions/2421224
复制相似问题