2011-06-30 128 views
0

我目前正在將第三方HTML文件導入到我的頁面中,並且它具有以下與表單提交綁定的Java腳本方法。如何用JQuery攔截URL

function ValidateInput(){ 
     //some code 
     if(validationFailed){  
       alert("Validation failed"); 
       return false; 
      }else{ 
       return openWin("URL"); 
     } 
    } 

我無法控制此代碼。但我想攔截openWin函數中提到的URL,我想在打開URL之前對該URL進行一些驗證。

使用JQuery有可能嗎?

回答

4

你不需要jQuery。

您可以用自己的函數替換函數,如果需要,可以調用舊函數。

var oldOpenWin = openWin; 
openWin = function(url) { 
    // do validation 
    // call old one 
    oldOpenWin(url); 
} 
1

您可以覆蓋任何功能,像這樣:

(function(original_openWin) { 
    window.openWin = function() { 
    // your own code 
    alert('Hello world from openWin intercept'); 

    // execute original openWin function 
    original_openWin(); 
    } 
})(openWin); 

例子:http://jsfiddle.net/hyadC/