2017-08-15 4 views
0

私はclipboard.jsを使用して、ユーザーがAPIドキュメントページからコードスニペットをコピーできるようにしています。Clipboard.jsスクリプトはビューファイルでは動作しますが、別の.jsファイルにはありません

<script> var clipboard = new Clipboard('.copyButton');</script> 

このスクリプトを自分のビューで実行すると、機能はすべて正常に動作します。しかし、私はエラーに

Uncaught ReferenceError: Clipboard is not defined 

を取得JS独自のファイルでスクリプトを配置する場合、私はので、私はそうのようなソースを登録するには、資産を使用していますYii2フレームワークを使用しています:

public $js = [ 
    "js/api.js", 
]; 

そして私は登録していますそのような私のメインのレイアウトの内側にその資産:

use metis\assets\ApiAsset; 
ApiAsset::register($this); 

誰もがなぜ任意のアイデアを得ましたか。

+0

別のファイルにコードを統合するコードを表示できますか?コード内のオブジェクトにアクセスする前にインポートが完了していることを確認してください。 – Riscie

答えて

0

クリップボードオブジェクトが時間内に初期化されていないか、clipboard.jsファイルが使用されているスクリプトの後に登録されているようです。クライアントソースから、クリップボードを使用しているスクリプトの前にclipboard.jsファイルが定義されていることを確認できますか?

+0

ありがとう、見習い(noob)エラー。クリップボードファイルの前にapi.jsファイルがロードされていました。 – Kyle

関連する問題