私は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);
誰もがなぜ任意のアイデアを得ましたか。
別のファイルにコードを統合するコードを表示できますか?コード内のオブジェクトにアクセスする前にインポートが完了していることを確認してください。 – Riscie