使用 jQuery 调用脚本以及 if 语句中的参数
Call a script along with parameters from if statement using jQuery
我有一个我无法控制的脚本,并且位于另一个域中。 默认过程是仅将其包含在脚本标记中,并且运行良好。
我不想默认运行它,所以我有一个 if 语句,如果为 true,我想运行脚本。所以默认选项是:
<script src="http://domain/site/script?Id=12345&delayMs=2000&stayMs=10000&chance=0.1" type="text/javascript" ></script>
我教我可以使用jQuery.getScript()让它运行上面的url,但这不起作用。 我不知道包含的实际脚本和函数的正确链接,因此我无法获取脚本并调用函数。
任何想法都会有所帮助。
问候布莱恩
由于您遇到了跨域问题,请尝试此操作(无论如何,$.getScript()
只是对此的简写,除了crossDomain: true
)。
$.ajax({
url: 'http://domain/site/script?Id=12345&delayMs=2000&
stayMs=10000&chance=0.1',
crossDomain: true,
dataType: 'script',
success: function () {
// script is loaded
},
error: function () {
// handle errors
}
});
您可以尝试使用纯JS的另一种解决方案:
function loadScript(src, callback)
{
var s,
r,
t;
r = false;
s = document.createElement('script');
s.type = 'text/javascript';
s.src = src;
s.onload = s.onreadystatechange = function() {
//console.log( this.readyState );
//uncomment this line to see which ready states are called.
if ( !r && (!this.readyState || this.readyState == 'complete') )
{
r = true;
callback();
}
};
t = document.getElementsByTagName('script')[0];
t.parent.insertBefore(s, t);
}
用法:
var url = 'http://domain/site/script?Id=12345&delayMs=2000&
stayMs=10000&chance=0.1';
loadScript(url, function(){
console.log('script loaded');
});
相关文章:
- 我如何才能继续'如果'语句来比较作为参数的多个函数返回值
- 如何在函数参数上运行jQueryif语句
- 打印出带有参数的if-else语句
- 是否可以将条件语句或其他javascript作为参数传递到ember句柄中
- WebSQL:处理SQL时出错:数量为''语句字符串中的s与参数计数不匹配
- 在 if 语句之外使用比较参数
- 使用 jQuery 调用脚本以及 if 语句中的参数
- 绑定函数的返回语句中参数的推理是什么
- 提供具有多个参数的存储语句的最佳方法
- 将 for 循环参数传递到每个语句中
- jQuery - 基于作为函数参数传递的对象构建动态 if 语句
- 将多个语句放在“for”参数中
- 否则,如果语句具有不同的参数
- 如何创建带有参数的函数调用语句并添加函数
- JavaScript switch 语句并将返回应用于函数参数
- 使用所选参数调用函数,而不使用if.else语句
- 如何转义要在语句中使用的JavaScript函数参数变量
- 整理带有多个参数的Switch cases/If语句,这是Javascript的新特性
- 在JS“if”语句参数中,是否有用于声明本地作用域变量的简明语法
- 传递参数的if语句上的ember-js操作