我正在尝试在字符串中实现变量。我已经搜索过这个并尝试向它扔不同的东西,但似乎没有任何效果。
我有一个如下所示的变量:
http:localhost:8080/Editor/?name=Default
我使用以下方法获取值没有问题:
function getQueryVariable(variable) {
var query = window.location.search.substring(1);
var vars = query.split("&");
for (var i = 0; i < vars.length; i++) {
var pair = vars[i].split("=");
if (pair[0] == variable) { return pair[1]; }
}
return (false);
}
var name = getQueryVariable("name")
现在我有一个加载页面的字符串,如下所示:
HMI.Builder.init('Files/HMIBuilder/', function () {
//run code after page/iframe is loaded
});
我想要做的是将变量添加到字符串 Files/HMIBuilder/{name}
这是行不通的。它最终需要看起来像这样
Files/HMIBuilder/Default
或者传递任何变量。
您必须使用 javascript 将字符串与变量连接起来+
符号,如下所示:
HMI.Builder.init('Files/HMIBuilder/' + getQueryVariable("name"), function () {
//run code after page/iframe is loaded
});
或者使用方便的replace
为了提高可读性:
HMI.Builder.init('Files/HMIBuilder/{name}'.replace('{name}', getQueryVariable("name")), function () {
//run code after page/iframe is loaded
});
当然,您可以通过两个步骤来完成,以获得更高的可读性:
var route = 'Files/HMIBuilder/{name}'.replace('{name}', getQueryVariable("name"));
HMI.Builder.init(route, function () {
//run code after page/iframe is loaded
});
最后,在最新的浏览器(以及一些用于向后兼容的转译器)上,您可以使用 ES6“`”语法:
var route = `Files/HMIBuilder/${getQueryVariable("name")}`;
HMI.Builder.init(route, function () {
//run code after page/iframe is loaded
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)