`
sean2012
  • 浏览: 46100 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

JS创建动态脚本跨域

阅读更多

    script标签本身就可以访问其它域的资源,不受浏览器同源策略的限制,可以通过在页面动态创建script标签,代码如下: 

var script = document.createElement('script');  
script.src = "http://aa.xx.com/js/*.js";  
document.body.appendChild(script);  

     这样通过动态创建script标签就可以加载其它域的js文件,然后通过本页面就可以调用加载后js文件的函数,这样做的缺陷就是不能加载其它域的文档,只能是js文件,jsonp便是通过这种方式实现的,jsonp通过向其它域传入一个callback参数,通过其他域的后台将callback参数值和json串包装成javascript函数返回,因为是通过script标签发出的请求,浏览器会将返回来的字符串按照javascript进行解析执行,实现了域与域之间的数据传输。 

分享到:
评论

相关推荐

    脚本跨域完美实现-面向对象编程

    创建一个动态`<script>`标签,其`src`属性指向提供JSON数据的服务器接口,服务器返回一个JavaScript函数调用,将数据作为参数传递。客户端预先定义这个函数,接收返回的数据。 面向对象编程在跨域中的应用主要体现...

    Javascript跨域和Ajax跨域解决方案

    通过动态创建`<script>`标签,并设置其`src`属性为一个提供回调函数的URL,服务器返回的不再是纯JSON数据,而是包裹在JavaScript函数调用中的JSON数据,客户端预先定义好这个回调函数,从而实现跨域数据交互。...

    javascript插件 解决双向跨域问题

    在JavaScript编程中,跨域(Cross-Origin)是一个常见的问题,特别是在Web开发中,当尝试从一个源(如一个域名、协议或端口)加载资源到另一个源时,浏览器的安全策略通常会阻止这种行为,以防止恶意脚本从不受信任...

    arcgis js跨域解决策略

    跨域问题源于浏览器的安全策略,旨在防止恶意脚本通过JavaScript从其他域名获取数据,以保护用户隐私。但在GIS应用中,我们需要跨域请求ArcGIS服务器上的地图服务、图层数据等资源,因此需要找到合法的解决方法。 ...

    js跨域解决方案

    通过动态创建`<script>`标签,设置其`src`属性为提供服务的服务器接口,并由服务器返回一个包裹在回调函数中的JSON数据。这种方式只适用于GET请求,且存在安全隐患,因为它无法处理错误和设置HTTP头信息。 2. **...

    解决JS跨域访问IFrame的解决方案

    在Web开发中,JavaScript(JS)的同源策略限制了不同源之间进行交互,包括从一个页面中的脚本访问另一个不同源的IFrame内容。"解决JS跨域访问IFrame的解决方案"这一主题关注的就是如何克服这个限制,使得在JSP页面中...

    js跨域对象类

    JSONP的基本思路是创建一个`<script>`标签,并设置其`src`属性为提供跨域服务的服务器返回的动态脚本。这个脚本通常是一个函数调用,函数名由客户端指定,参数是服务器返回的数据。例如: ```javascript function ...

    解决ajax不能访问本地文件问题(利用js跨域原理)

    在Web开发中,AJAX(Asynchronous JavaScript and XML)是一种创建动态网页的技术,它允许页面在不重新加载整个页面的情况下与服务器交换数据并更新部分网页内容。然而,由于浏览器的安全策略,AJAX默认无法直接访问...

    动态创建iframe,并动态添加js执行代码

    总结来说,动态创建iframe并动态添加js执行代码是Web开发中的重要技术,它能够帮助我们实现异步加载、跨域通信等功能,但同时也需要注意相关的安全问题。通过熟练掌握这些技术,开发者能够构建更复杂、更灵活的Web...

    js 跨域解决方案

    JSONP利用了`<script>`标签可以跨域加载的特点,通过动态创建`<script>`标签并设置其`src`属性为提供服务的API,该API返回一个函数调用,将数据作为参数传递回来。例如: ```html ...

    js json ajax jsp 跨域訪問的例子

    首先,JavaScript(JS)是客户端脚本语言,用于实现网页的动态交互。AJAX(Asynchronous JavaScript and XML)是一种在不刷新整个页面的情况下与服务器交换数据并更新部分网页的技术。JSON(JavaScript Object ...

    js跨域问题解决方案.

    JSONP利用`<script>`标签不受同源策略限制的特性,通过动态创建`<script>`标签并设置`src`属性为带有回调函数的URL来实现跨域。服务器返回的是一段JavaScript代码,调用客户端指定的回调函数,传递数据。 #### 3.2 ...

    jquery跨域调用 js跨域调用

    它创建一个`<script>`元素,然后设置其`src`属性为一个可跨域的URL,该URL返回的不是JSON数据,而是包裹在函数调用中的JSON数据。例如,`callback({key: 'value'})`。浏览器会执行这个函数,从而达到跨域获取数据的...

    js跨域问题小结

    1. JSONP(JSON with Padding):这是一种早期的跨域解决方案,通过动态创建`<script>`标签来引入一个带有回调函数的JavaScript文件。由于浏览器允许不同源的脚本嵌入,JSONP利用了这个特性来实现跨域数据交互。但是...

    JavaScript 跨域通信方法

    其原理是利用`<script>`标签的src属性不受同源策略限制的特点,通过动态创建`<script>`元素并设置其src为包含JSONP回调函数的数据URL,从而实现跨域数据获取。但JSONP只支持GET请求。 - **XMLHttpRequest Level 2 ...

    AJAXCDR:利用 Flash 完美解决 JavaScript 和 AJAX 跨域 HTTP POST/GET 表单请求

     本域和其他域的交互,可以通过iframe、代理、JS创建动态脚本等几种方法来实现,这里有篇文章对几种方法作了简要的介绍。  iframe、JS创建动态脚本这两种方法,需要开发者能控制两个域,两端都要编写相应的代码,...

    js跨域的理解与实现

    JavaScript中的跨域问题源于浏览器的同源策略,这是一种安全机制,用于防止恶意脚本从一个网站获取并操作另一个网站的数据。同源策略规定,Web页面只能读取与该页面URL同源(协议、域名和端口都相同)的资源。然而,...

    javascript/jquery 跨域访问

    客户端页面通过动态创建`<script>`标签,将服务器的URL插入其中,从而执行服务器返回的JavaScript代码,达到数据交换的目的。 3. **CORS(Cross-Origin Resource Sharing)**:CORS是现代浏览器支持的一种更安全、更...

Global site tag (gtag.js) - Google Analytics