JS代码如下:
var DynamicLoadScriptQueue =
{
Loading : false,
TaskQueue : [],
CallBack : function (StartTime, CallBackMethod)
{
CallBackMethod && CallBackMethod(new Date().valueOf() - StartTime.valueOf());
this.Loading = false;
this.Load();
},
Load : function ()
{
if (!this.Loading && this.TaskQueue.length)
{
var Head = document.getElementsByTagName("head")[0];
if (!Head)
{
this.TaskQueue.length = 0;
this.TaskQueue = null;
throw new Error('The head does not exist in this page.');
}
var DLSQ = this, TaskQueue = this.TaskQueue.shift(), StartTime = new Date, Script = document.createElement('script');
this.Loading = true;
Script.onload = Script.onreadystatechange = function ()
{
if (Script && Script.readyState && Script.readyState != 'loaded' && Script.readyState != 'complete') return;
Script.onload = Script.onreadystatechange = Script.onerror = null;
Script.Src = '';
Script.parentNode.removeChild(Script);
Script = null;
DLSQ.CallBack(StartTime, TaskQueue.CallBackMethod);
StartTime = TaskQueue = null;
};
Script.charset = TaskQueue.Charset || 'gb2312';
Script.src = TaskQueue.Src;
Head.appendChild(Script);
}
},
AddTask : function (Src, Charset, CallBackMethod)
{
this.TaskQueue.push({ 'Src' : Src, 'Charset' : Charset, 'CallBackMethod' : CallBackMethod });
this.Load();
}
}
调用示例:
1、将上述代码保存为JScript1.js,编码格式选择UTF-8。
2、将以下两段代码分别报存为JScript2.js和JScript3.js,编码格式分别为UTF-8和GB2312。
var strTest = "abcdefg";
var strTemp = "abcdefg";
3、新建测试页面WebForm1.aspx,代码如下:
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>动态加载JS文件测试页面</title>
<script type="text/javascript" src ="JScript1.js"></script>
<script type="text/javascript">
var Test1 = function(LoadTime)
{
alert("加载耗时:" + LoadTime + "毫秒,测试字符串:" + strTest);
}
var Test2 = function(LoadTime)
{
alert("加载耗时:" + LoadTime + "毫秒,测试字符串:" + strTemp);
}
DynamicLoadScriptQueue.AddTask("JScript2.js","UTF-8",Test1);
DynamicLoadScriptQueue.AddTask("JScript3.js","GB2312",Test2);
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
</div>
</form>
</body>
</html>
分享到:
相关推荐
JavaScript跨域问题,是Web开发中常见的一个挑战,由于浏览器的同源策略限制,JavaScript无法直接访问不同源的资源,这在实现某些功能时会带来不便。本文将深入探讨JavaScript跨域问题的原因、影响以及多种解决方案...
jcrossdomain是一个专门用于解决JavaScript跨域问题的工具,尤其适用于需要双向通信的场景。它通过创建隐藏的IFrame和利用window.postMessage API来实现跨域通信。window.postMessage是HTML5引入的一个API,允许来自...
通过以上策略,你可以成功地在.NET或Java环境下解决arcgis js的跨域问题,确保GIS应用的正常运行。不过,需要注意的是,跨域问题的解决方案应根据项目需求和安全性考虑进行选择,确保既能满足功能需求,又能保障数据...
另一种常见的跨域解决方案是使用动态插入`<script>`标签的方法。这种方法的原理是利用了浏览器允许动态加载JavaScript文件的特点,从而绕过同源策略的限制。 具体步骤如下: 1. 在前端页面中动态创建一个`<script>...
为了解决跨域问题,PDF.js 提供了几种解决方案: 1. 服务器端配置:在服务器端设置 CORS 头部,允许来自其他域的请求。例如,在 Apache 或 Nginx 配置中添加 `Access-Control-Allow-Origin` 头,指定允许访问的源...
本文将探讨如何利用JavaScript的跨域原理来解决这个问题。 首先,我们要理解什么是跨域。跨域是指一个源(Origin,由协议、域名和端口组成)试图访问另一个源的资源时,如果这两个源不相同,就会被浏览器视为跨域,...
JavaScript跨域是Web开发中一个常见的挑战,由于浏览器的同源策略限制,JavaScript无法直接访问不同源(协议、域名或端口不一致)的资源。本文将深入探讨JS跨域的解决方案,帮助开发者理解并解决这个问题。 首先,...
解决arcgis server跨域问题: 1、停掉ArcGIS Server的服务。 2、 打开<ArcGIS Server> \framework\runtime\tomcat\conf\web.xml,注册跨域bean 3、lib下拷贝 cors-filter-2.5.jar java-property-utils-1.9.1.jar包 4...
跨域问题通常在 JavaScript 中是个常见的安全限制,浏览器不允许脚本从一个源(域名、协议或端口)请求另一个源的资源,以防止恶意网站通过脚本读取其他网站的数据。在 PDF.js 原版中,如果 PDF 文件存储在与网页...
JavaScript跨域问题是一个在开发Web应用时经常遇到的技术挑战,主要涉及到浏览器的同源策略(Same-Origin Policy)。同源策略是浏览器为了保护用户信息安全而设置的一种安全机制,它限制了来自不同源(协议+域名+...
JS跨域访问解决
本文将深入探讨JavaScript跨域问题及其解决方案,以帮助开发者理解和应对这一问题。 首先,了解同源策略是解决问题的关键。同源策略是浏览器为了保障用户数据安全而实施的一种机制,它禁止了一个源的文档或脚本获取...
但这种方法需要服务器端的配合,对于纯客户端的iframe跨域解决方案不适用。 **三、window.name跨域通信详解** 1. **原理**:`window.name`不受同源策略限制,可以在任何页面中读写,即使页面被刷新或导航至其他URL...
Nginx 跨域问题解决方案 Nginx 是一个流行的开源 Web 服务器软件,广泛应用于 Web 服务器管理。然而,在使用 Nginx 进行服务器管理时,经常会遇到跨域问题。跨域问题是指在不同的域名、端口或协议下,无法访问...
JavaScript跨域和Ajax跨域是Web开发中常见的问题,尤其在进行前后端分离或API调用时,由于浏览器的同源策略限制,不同域名、协议或端口的资源请求会被阻止,这就是所谓的“跨域”。本文将深入探讨JavaScript和Ajax...
本篇文章将详细介绍如何解决Geoserver的跨域问题。 首先,我们需要理解跨域问题的背景。根据同源策略,浏览器只允许与同一源(协议+域名+端口)的请求进行通信。但在实际应用中,比如一个网站前端和Geoserver不在同...
标题《JS跨域访问解决方案总结.pdf》指明文档的核心内容是关于JavaScript跨域访问问题的解决方法。跨域访问问题是指由于浏览器的同源策略限制,网页中JavaScript代码出于安全原因不能访问另一个源(域名、协议或端口...
面对这样的问题,我们可以采用以下几种跨域解决方案: 1. **CORS(Cross-Origin Resource Sharing)**:服务器可以通过设置响应头`Access-Control-Allow-Origin`来允许特定的源进行跨域请求。例如,服务器端可以在...
### JS解决跨域访问问题详解 #### 一、引言 在现代Web开发中,跨域访问问题是开发者经常面临的一个挑战。特别是在使用JavaScript进行前后端交互时,由于浏览器的同源策略限制,开发者经常会遇到跨域问题。本文将...
除了资源代理,还可以使用其他跨域解决方案: - CORS(跨源资源共享):服务器端可以设置CORS头(如`Access-Control-Allow-Origin`),允许特定的源进行跨域请求。这种方法需要服务器端的支持,可能不适用于所有...