2012-09-21 12 views
3

我有一個HTML代碼,其中我有兩個JavaScript。我想調用1 JavaScript的功能到另一個。下面給出的是我的JavaScript的結構。如何調用一個JavaScript函數形成另一個JavaScript,其中兩個都在相同的HTML

<html> 
<head> 
<script> 
function a() 
{ 
//function code 
this.parent["asd"].b(); //problem in dis line 
} 
</script> 
<body> 
<script> 
var asd= new Asd(); 
function b() 
{ 
//function code here 
} 
</script> 
</body> 
</html> 

當我在本地或從Web服務器使用它時,它工作正常。但是,如果我上傳我的Facebook應用程序中的這個頁面,父類從其內部的iframe指向其他地方。如何解決它。有沒有其他的方式來調用該函數。

+0

我認爲你是新的Java腳本。 –

+0

是的,在過去的1個月裏學習了它 –

回答

4

您可以:

=>結合了JavaScript的這要在使用一種

=>首先包括一個文件,它的作用要在另一個JavaScript來使用,因此它會自動所有從該JavaScript文件中獲取值。

+0

我在genralized概念中講述了我們希望在我們的html或視圖頁面中包含兩個javascript ...我想現在我正在使smwhat明確... – Jhanvi

+0

javascript的順序並不重要,如果它是全局函數。 –

+0

是的,你在全局場景中是正確的,但是如果你要使用庫函數或其他函數定義在一個文件中並且想要在另一個文件中調用,那麼它很重要。 – Jhanvi

2

它不要緊,你在同一個腳本標籤上寫入的功能,或在另一個很容易與函數名叫做只喜歡下面

<html> 
<head> 
<script> 
function a() 
{ 
//function code 
b(); //problem in dis line 
} 
</script> 
<body> 
<script> 
var asd= new Asd(); 
function b() 
{ 
//function code here 
} 
</script> 
</body> 
</html> 
+0

但是當我簡單地稱它爲止。它不工作。請訪問鏈接der是我的fb應用程序http://praveen.comyr.com/fb/ –

+0

其中您要求的關鍵部分 –

+0

http://jsfiddle.net/UCBTG/看看dis小提琴。在這個如果我打電話dis功能next();它沒有工作的bcos它的內部框架。是否有其他替代方法可以在不使用父類的情況下調用下一個方法。 –

1

將所有Javascript文件合併到一個完整js文件總是更好。所以,你可以將你的JavaScript文件合併在一起。這也可以讓你免受這種麻煩。您還可以看到this thread

+0

我嘗試過,但我失敗了。如果可能的話,請嘗試。這裏是小提琴http://jsfiddle.net/UCBTG/1/ –

+0

你的''timer.js「'文件有什麼用?我的意思是我需要這個文件來工作。 – xan

1

您可以嘗試eval("asd").b();代替this.parent["asd"].b();

1

這件事doenst。你可以在同一個文件中調用已經在HTML中引用的任何函數。因爲最終一切都在同一頁面。

0

謝謝大家。我得到了解決方案。我從javascript中刪除了函數單詞。現在它的工作正常。

相關問題