2016-08-24 6 views
1
ここ

は、コードスニペットです:私はDOMのトップレベルにこの機能を追加することができますどのようにDOMのトップレベルに関数を追加して開発者コンソールから呼び出す方法(JavaScript)?

Uncaught ReferenceError: MyFunction is not defined(…)

<head> 
    <script> 
     function MyFunction (arg) { 
     window.location.replace(window.location.origin + '/#/' + arg); 
     } 
    </script> 
</head> 

私は開発者のコ​​ンソールからそれを実行しています、私はこのエラーを取得しています他の場所でそれを実行する?

答えて

1

機能コードを開発者のコ​​ンソールに配置してから、関数を呼び出す必要があります。このように:

function MyFunction (arg) { 
    window.location.replace(window.location.origin + '/#/' + arg); 
}; MyFunction("test"); 
+0

私はすぐにそれを呼び出すにしたくない場合(例えば、私はこの時点で引数の値がわからない場合)?この引数がわかっている別の場所からこの関数を利用できるようにすることは可能ですか?ありがとう。 – max

1
Uncaught ReferenceError: MyFunction is not defined(…) 

このエラーからあなたはMyFunctionを()を呼び出したときに、ウィンドウオブジェクト、 でのMyFunctionを見つけることができません意味し、見つからない場合は、現在のスコープでこの機能を見つける親スコープを見つけ、中になります最後に、ウィンドウオブジェクトからこの関数を見つける。 あなたはこれを好きなことができます。

window.MyFunction = function(arg) { 
    window.location.replace(window.location.origin + '/#/' + arg); 
    } 
+0

myコマンド:window.GameBridgeRefresh コンソールの答え:未定義 myコマンド:window.GameBridgeRefresh( '123'); コンソールの答え:Uncaught TypeError:window.GameBridgeRefreshは関数ではありません(...) – max

+0

GameBridgeRefresh関数を使用する前に、この関数を定義できます。または現在のウィンドウオブジェクトでこの関数が見つかりません。 –

+0

申し訳ありません、実際の関数名の代わりにMyFunctionのような一般的な名前を使用しています。とにかく、それは動作しません(少なくともChromeでは)。 – max

関連する問題