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,我也没有使用任何捆绑工具。如果我将此功能写入文档之外,则无法在文档就绪功能中使用此功能。

+0

你打过电话吗?确定在'main.js'之前添加了script.js' –

+0

如果你没有使用像'webpack'这样的捆绑工具,你的'getUrlParameter'应该是一个全局函数,并且应该在* main中可用。 JS *。如果你是,你可以创建一个util并将其流入全局作用域或者创建一个模块并使用'import' – Rajesh

+0

不使用任何捆绑工具,但不会被调用 –

基本上就宣告这个功能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, " ")); 

} 的文档准备功能 将修复外你的问题。

+0

如果我这样做然后我不能使用里面准备好的功能 –

+0

如果你把外面的准备功能,那么它宣布全球所以你可以访问它在任何地方 – sonsor

确保你包括在HTML的脚本文件,如下面,并确保顺序是这样迁出功能如下

<script type="text/javascript" src="main.js" ></script> 
<script type="text/javascript" src="script.js" ></script> 

出jQuery.document.ready范围,并尝试它是否适合您。

+0

是的,它是这样的 –