jQuery的电话从另一个js文件
我WordPress的模板工作中存在的script.js文件,该文件是看起来像下面jQuery的电话从另一个js文件
的script.js
var jQuery=jQuery.noConflict();
jQuery(document).ready(function() {
//while window loads
var obj = document.getElementById("centreFrame");
var comObj = document.getElementById("communityFrame");
var side1 = document.getElementById("t3-sidebar-1");
var side2 = document.getElementById("t3-content");
function getUrlParameter(name, url) {
if (!url) url = window.location.href;
name = name.replace(/[\[\]]/g, "\\$&");
var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)"),
results = regex.exec(url);
if (!results) return null;
if (!results[2]) return '';
return decodeURIComponent(results[2].replace(/\+/g, " "));
}
});
现在有另一个脚本文件“main.js”,我想在其中调用getUrlParameter(a,b)
函数。
main.js
window.onscroll = function() {
//here I need to call getUrlParameter function
}
我怎样才能调用这个函数onscroll里面 “getUrlParameter” 功能?
注意:script.js首先加载然后main.js,我也没有使用任何捆绑工具。如果我将此功能写入文档之外,则无法在文档就绪功能中使用此功能。
基本上就宣告这个功能getUrlParameter后的文件已准备就绪,你需要声明它的文件被加载时,所以你需要把这个功能
function getUrlParameter(name, url) {
if (!url) url = window.location.href;
name = name.replace(/[\[\]]/g, "\\$&");
var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)"),
results = regex.exec(url);
if (!results) return null;
if (!results[2]) return '';
return decodeURIComponent(results[2].replace(/\+/g, " "));
} 的文档准备功能 将修复外你的问题。
如果我这样做然后我不能使用里面准备好的功能 –
如果你把外面的准备功能,那么它宣布全球所以你可以访问它在任何地方 – sonsor
确保你包括在HTML的脚本文件,如下面,并确保顺序是这样迁出功能如下
<script type="text/javascript" src="main.js" ></script>
<script type="text/javascript" src="script.js" ></script>
出jQuery.document.ready范围,并尝试它是否适合您。
是的,它是这样的 –
你打过电话吗?确定在'main.js'之前添加了script.js' –
如果你没有使用像'webpack'这样的捆绑工具,你的'getUrlParameter'应该是一个全局函数,并且应该在* main中可用。 JS *。如果你是,你可以创建一个util并将其流入全局作用域或者创建一个模块并使用'import' – Rajesh
不使用任何捆绑工具,但不会被调用 –