我有一个最初为在某些汽车上运行而编写的 HTML5/JavaScript 应用程序。基本上,我需要将我的应用程序设置为在浏览器中运行,以便向客户进行简单的演示。
我正在使用 jQuery .ajax,由于同源策略而导致问题。我找到了很多在桌面浏览器中禁用此功能的方法,但在移动浏览器中却没有。
我的目标是在 iPad 上的 Mobile Safari 中演示该应用程序。有什么方法可以暂时禁用 iPad 上的同源策略?
我有一个最初为在某些汽车上运行而编写的 HTML5/JavaScript 应用程序。基本上,我需要将我的应用程序设置为在浏览器中运行,以便向客户进行简单的演示。
我正在使用 jQuery .ajax,由于同源策略而导致问题。我找到了很多在桌面浏览器中禁用此功能的方法,但在移动浏览器中却没有。
我的目标是在 iPad 上的 Mobile Safari 中演示该应用程序。有什么方法可以暂时禁用 iPad 上的同源策略?
我在煎茶应用程序中遇到了同样的问题。我通过设置我的 javascript ajax 调用的基本路径来解决,例如:
var BASEPATH = 'http://192.168.1.200/myapp';
$.ajax({
url: BASEPATH+'/someaction'
});
从手机上我访问它http://192.168.1.200/myapp
我的问题是,我只能通过 IP 访问移动设备,但 ajax 调用指向本地主机。
希望这个技巧有帮助。
您需要运行 Web 服务器,而不是文件协议。
尝试在您的 ajax 调用中使用 JSONP。它将绕过同源策略。
基本上,你需要一个标题。
将此代码放在您要向其发送跨域请求的页面顶部。
<?php header("Access-Control-Allow-Origin: *"); ?>
请注意 *,因为这允许任何网站向发送该标头的页面发送请求。
* 可以替换为域,例如 example.com、example.net。
如果您使用对公共代理的 ajax 调用,它可以在 Javascript 中实现,该代理基本上删除了相同的原始标头。或者您可以编写一个 php curl 获取页面,在其中调用使用 ajax。有关这方面的代码,请查看此博文:
http://thewebtimes.tumblr.com/post/90549614884/access-forbidden-webpages-with-javascript