3

私は2つのjavascriptを持っているhtmlコードを持っています。1つのJavaScriptの関数を別のJavaScriptに呼び出したい。以下に私のjavascriptの構造を示します。

<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内にあるため、別の場所を指します。それを解決する方法。関数を呼び出す他の方法はありますか?

4

6 に答える 6

4

あなたはできる:

=>使用したい両方のJavaScriptを1つに組み合わせる

また

=>最初に使用する関数のファイルを別のJavaScriptでインクルードして、そのjavascriptファイルから値を自動的に取得するようにします。

于 2012-09-21T05:49:38.523 に答える
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>
于 2012-09-21T05:38:27.400 に答える
1

すべてのJavascriptファイルを1つの完全なjsファイルに結合することをお勧めします。したがって、両方のjavascriptファイルをマージするだけです。それはまたこのトラブルからあなたを救うでしょう。このスレッドも見ることができます。

于 2012-09-24T10:44:05.860 に答える
1

eval("asd").b();代わりに試すことができますかthis.parent["asd"].b();

于 2012-09-24T11:28:23.867 に答える
1

それは重要です。同じファイルの場合と同様に、HTMLですでに参照されている任意の関数を呼び出すことができます。最終的にはすべてが同じページにあるからです。

于 2012-09-24T11:36:10.197 に答える
0

Thank u all. i got the solution. i removed the function word from the javascript. now its working fine.

于 2012-09-24T11:54:31.660 に答える