禁用Mobile Safari中的同源策略
Disable Same Origin Policy in Mobile Safari
我有一个HTML5/JavaScript应用程序,它最初是为在某些汽车中运行而编写的。基本上,我需要设置我的应用程序在浏览器中运行,以便向客户进行简单的演示。
我使用的是jQuery.ajax,它由于同源策略而导致问题。我已经找到了很多方法在桌面浏览器中禁用它,但在移动浏览器中没有。
我的目标是在移动Safari中在iPad上演示该应用程序。有没有办法暂时禁用iPad上的同源政策?
我在一个sencha应用程序中遇到了同样的问题。我通过设置javascript ajax调用的基本路径来解决问题,例如:
var BASEPATH = 'http://192.168.1.200/myapp';
$.ajax({
url: BASEPATH+'/someaction'
});
从手机上我用http://192.168.1.200/myapp
访问它
我的问题是,从移动设备我只能使用IP访问,但ajax调用指向localhost。
希望这个技巧能有所帮助。
您需要运行web服务器,而不是文件协议。
基本上,您需要一个标头。
将此代码放在要发送跨域请求的页面顶部。
<?php header("Access-Control-Allow-Origin: *"); ?>
小心使用*,因为这允许任何网站向发送标题的页面发送请求。
*可以替换为域,如example.com、example.net。
尝试在ajax调用中使用JSONP。它将绕过同源政策。
http://learn.jquery.com/ajax/working-with-jsonp/
在Javascript中,如果使用对公共代理的ajax调用,基本上可以删除相同的原始标头,那么这是可能的。或者,您可以编写一个php curl get页面,在其中调用ajax。关于这个检查这个博客文章的代码:
http://thewebtimes.tumblr.com/post/90549614884/access-forbidden-webpages-with-javascript
- 通过在Dojo mobile ViewController.openExternalView中动态更改打开同一外部视图的
- 无法从jquery Mobile导航栏重定向到另一个页面
- jquery mobile上多个页面上的一个表单
- window.location使用jquery mobile实现chrome跳转
- 内容安全策略:页面's设置阻止加载资源
- 防止jQuery Mobile中的ajax缓存
- 如何在JQUERY Mobile上放置谷歌地图
- JQuery Mobile Javascript复杂方程式
- 导致内容安全策略(CSP)冲突错误的本地jquery.js文件
- 以编程方式选择文本Mobile Safari
- jQuery Mobile Undefined不是一个函数
- jQuery mobile not going through ID
- 旋转木马;启用内容安全策略时无法工作
- 同源策略目的|用户数据与基本页面数据|客户端页面抓取
- 如何使用javascript或jquery mobile从url读取和显示XML文件
- jQuery Mobile Collapse上的AJAX请求
- 应用程序在呈现Jquery Mobile之前显示无样式的Html
- 下载HTML5/Javascript MOBILE应用程序中的PDF文件
- 什么是谷歌地图'的javascript加载策略
- 禁用Mobile Safari中的同源策略