2012-03-22 14 views
0

JavaScript関数内でJavaScriptファイルを参照することはできますか?リファレンス外部JavaScriptファイルの機能

<script type="text/javascript" src="http://crypto-js.googlecode.com/files/2.5.3-crypto-sha1-hmac.js"></script> 
<script type="text/javascript"> 

var hmacString = Crypto.HMAC(Crypto.SHA1, "Message", "Secret Passphrase", { asString: true }); 

</script> 

それゆえ、わたしはこれを変換したいのです

function hmac (input){ 

    var hmacString = Crypto.HMAC(Crypto.SHA1, "Message", "KEY", { asString: true }); 

    return hmacString; 

} 

私はそのためだけの機能までJavaScriptを制限アイアンを、キャストと呼ばれるツールを使用していますが、私必要な機能をロードするために外部ファイルを呼び出す必要があります。

これも可能ですか?

+1

は、あなたが今何をすべきかをしようとしている...私は混乱しましたか? – jAndy

+0

「鋳鉄」とは? –

+0

@jAndy:彼はすべてのコードを1つの関数に統合しようとしていると思うので、外部のJSファイルをインクルードする関数が必要なので、Crypto.HMACを呼び出すことができます。 –

答えて

0

私が正しく理解していれば、アクセスしようとする前に他のクラスがロードされていれば、あるJSファイルから関数とクラスにアクセスできます。

some-javascript-file.jsgetThings()という名前の関数を持っているのであれば、あなたがこれを行うことができます。

<script type="text/javascript" src="http://cdn.example.com/js/some-javascript-file.js"></script> 
<script type="text/javascript"> 
    var things = getThings(); // getThings is a publicly accessible function in an external class. 
</script> 
0

スクリーンショットは一種の助けOK。あなたは外部のJSファイルから何かを欲し、この関数の中でそれを操作するようです。

だから、あなたが持つジャバスクリプトファイル1持つことができ:あなたは

+0

これはすばらしく見えるが、これは難しいところだ。キャストアイアンは 'function hmac(input){}'をハードコードしているので、[Image](http://www.uploadimage.co.uk/images/321586Untitled.png)のようになります。つまり、私はあなたの尋ねることはできません。それは理にかなっていますか? – MMKD

+0

私はあなたが今言っていることを得て、おそらく 'document'キーワードが必要であり、必要な変数をグローバルスコープに保持していると思います。 –

0

はい、あなたは他のJSを読み込むことができますしたいものをアクセスする必要があり

function hmac(key){ 
    alert(document.foo); 
} 

var foo = 'foo'; //this is in the global scope 

してから他のファイルが持っているのファイルをjavascriptであなたの関数が実行された負荷状態に応じて、あなたのDOMがロードされた後にdocument.writeは、ページ全体を壊すことに気をつけてください

document.write('<script type="text/javascript" src="http://crypto-js.googlecode.com/files/2.5.3-crypto-sha1-hmac.js"'+'><'+'/script>"'); 
// loads synchronouly and executes 
Crypto.HMAC(...); // is available here 

を使用することができますどちらか。また、使用することができます。

var s = document.createElement("script"); 
s.type = "text/javascript"; 
s.src = "http://crypto-js.googlecode.com/files/2.5.3-crypto-sha1-hmac.js"; 
s.onload = function() { 
    // the file should be executed now so 
    Crypto.HMAC(...); // is available here 
}; 
document.head.appendChild(s); // load asychronously 

も参照してくださいLoad js from external site on fly

関連する問題