2009-10-27 55 views
0

首先,我不是一個JavaScript開發人員,所以我沒有很多這方面的經驗。Javascript中奇怪的對象錯誤

我有一個使用jQuery插入到HTML頁面的頁腳,該頁面中包含以下代碼,每個客戶端「需要在其中」。

<script language="JavaScript"><!-- 
/************* DO NOT ALTER ANYTHING BELOW THIS LINE ! **************/ 
var s_code=s.t();if(s_code)document.write(s_code)//--></script> 
<script language="JavaScript"><!-- 
if(navigator.appVersion.indexOf('MSIE')>=0)document.write(unescape('%3C')+'\!-'+'-') 
//--></script> 

我不要;噸真的不必擔心任何東西,除了這個s.t();代碼行。我需要編寫一個虛擬對象或其他任何東西,並將其包含在標頭中,除非防止發生javascript錯誤,否則本身不會執行任何操作。

所以真的我需要「s」的對象被實例化,並有一個函數「t」附加到它基本上什麼都不做。

任何幫助表示讚賞。這不是我想要做的事情,但考慮到客戶端的預算和項目限制,我只需要這樣做就可以在沒有javascritp錯誤的情況下工作。

謝謝,如果你可以幫忙。

+0

這是Omniture的代碼。 http://www.omniture.com/en/ – epascarello 2009-10-27 10:34:58

+0

這段代碼是Omniture SiteCatalyst的基本代碼。您必須包含s_code.js。否則,你顯示的代碼是無用的。 – 2011-08-26 10:53:44

回答

0
var s = { 
    t: function(){} 
}; 

看到它在,嗯,動作:http://jsbin.com/oboju

如果你擔心s定義,不希望覆蓋它,你可以檢查它首先(這並不能掩蓋的情況下s.t有定義但不是函數):

if(!s){ // check if s exists 
    var s = []; 
} 
if(!s.t){ // check if s has t 
    s.t = function(){}; 
} 
1

使用Javascript原型:

function s() { 
} 

function doSomething() { 
} 

s.prototype.t = doSomething; 

編輯:錯字

+0

這不完整,你不能寫's.t();' - s不是一個變量。它應該是'var s2 = new s(); s2.t();',所以你可能想改變's'的名字。 – Kobi 2009-10-27 06:23:46

+0

是的,只是在考慮提供他必須使用的對象。 – putolaruan 2009-10-27 06:41:30