Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
重写javascript函数局部变量_Javascript_Jquery_Html_Sharepoint - Fatal编程技术网

重写javascript函数局部变量

重写javascript函数局部变量,javascript,jquery,html,sharepoint,Javascript,Jquery,Html,Sharepoint,javascript文件search.js中有一个外部函数GoSearch 如何重写GoSearch函数的私有/局部变量(b)。 示例将变量b=“?”修改为b=“?cs=此站点&u=http://google.com“ GoSearch(q,G,p,E,r,F,D,C,B,j,n,z,y,x,w,A,l,v){ ULShpi:; 试一试{ AddSearchoptionsToQuery() }捕获(H){} var i=document.forms[0]。元素[G]。值; i=i.替换(/\s*

javascript文件search.js中有一个外部函数GoSearch

如何重写GoSearch函数的私有/局部变量(b)。 示例将变量b=“?”修改为b=“?cs=此站点&u=http://google.com“

GoSearch(q,G,p,E,r,F,D,C,B,j,n,z,y,x,w,A,l,v){
ULShpi:;
试一试{
AddSearchoptionsToQuery()
}捕获(H){}
var i=document.forms[0]。元素[G]。值;
i=i.替换(/\s*$/,“”);
var u=“1”;
如果(q)u=document.forms[0]。元素[q]。值;
如果(i==“u==“0”){
警戒(五);
if(null!=事件){
event.returnValue=false;
返回错误
}否则返回
}
var b=“?”;
如果(suggestedQuery)b+=“sq=1&”;
b+=“k=”+成分(i);
对于(变量k=[“rm”、“rm1”、“rm2”、“rm3”、“rm4”、“rm5”、“ql”、“ql1”、“ql2”、“ql3”、“ql4”、“ql5”、“v”、“v1”、“v2”、“v3”、“v5”、“hs”、“hs1”、“hs2”、“hs3”、“hs4”、“hs5”],h=0;h0)b+=“&”+k[h]+“=”+m
}
如果(l!=null&&l!=“”)b+=”&r=“+encodeURIComponent(l);
if(null!=p){
var t=document.forms[0]。元素[p]。值;
如果(E)b+=规范化dutf8fromfunicode(“+t”);
else b+=“&a=“+canonicalizedUtf8FromUnicode”(“+t”)
}
var a=null,
c=“”,
d=“”,
o=null!=j;
如果(o){
c=j;
d=j
}else if(r){
a=文档。表单[0]。元素[F];
c=a.options[a.selectedIndex].getAttribute(“范围”);
d=a.options[a.selectedIndex].值
}
if(r | | o){
var f=“”,
g=“”,
e=假;
如果(d==z){
f=d;
c=“”;
g=document.forms[0]。元素[D]。值;
e=真
}
如果(d==y){
f=d;
c=“”;
g=document.forms[0]。元素[C]。值;
e=真
}
如果(d==x){
f=c;
c=“”;
g=document.forms[0]。元素[B]。值;
e=真
}
如果(c==w){
c=a.options[a.selectedIndex].值;
e=真
}
如果(e)n=A;
如果(c!=“”){
b+=“&s=“+c”;
如果(a.options[a.selectedIndex].value!=“&&&!e)n=a.options[a.selectedIndex].value
}
如果(f!=”)b+=”&cs=“+encodeURIComponent(f);
如果(g!=“”)b+=”&u=“+encodeURIComponent(g)
}
var I=文件.表格[0];
试一试{
外部自动完成存储格式(I)
}捕获{}
window.location=n+b;
试一试{
如果(null!=事件)event.returnValue=false
}捕获{}
返回

}

最快的方法就是不要直接链接到外部文件。下载您的文件版本,更改所需内容,然后将其提供给您的页面


您甚至可以动态地将文件下载到服务器上,进行修改,并将其推送到请求页面。

您可以用自己的搜索框代替
GoSearch
功能

创建一个用户控件(ASCX),使用修改后的
GoSearch
函数将JavaScript代码放在页面上。创建一个具有功能的SP解决方案,该功能将控件放置在激活该功能的网站或网站集上的每个页面标题上

查看
search.js
如何加载到您的页面上。如果不是直接在页眉中执行,而是延迟执行,则在加载
search.js
后,必须动态执行
GoSearch
替换:

function ReplaceGoSearch {
    GoSearch = function(...) {
        ...
    };
}
ExecuteOrDelayUntilScriptLoaded(ReplaceGoSearch, "search.js");

---Ferda

此文件是特定于工具的,我无法保留本地副本。将来,如果对该工具的任何修改或升级将覆盖我的本地副本,也可以这样做。您可以从服务器端代码中获取该文件,对其进行修改并将其推送到浏览器。因此,您的页面访问服务器上的页面,该页面实际上只是从原始位置获取文件,修改流,然后将流推送到浏览器。
function ReplaceGoSearch {
    GoSearch = function(...) {
        ...
    };
}
ExecuteOrDelayUntilScriptLoaded(ReplaceGoSearch, "search.js");