このコードはどうやって
参照されないReferenceError:$が定義されていません
以前は大丈夫でしたか。
$(document).ready(function() {
$('#tabs > ul').tabs({ fx: { opacity: 'toggle' } });
$('#featuredvid > ul').tabs();
});
タブの結果はもう閉じません。
jQueryはヘッダーで参照されています。
<script language="JavaScript" type="text/javascript" src="<?php echo get_option('siteurl') ?>/js/sprinkle.js"></script>
<script language="JavaScript" type="text/javascript" src="<?php echo get_option('siteurl') ?>/js/jquery-1.2.6.min.js"></script>
<script language="JavaScript" type="text/javascript" src="<?php echo get_option('siteurl') ?>/js/jquery-ui-personalized-1.5.2.packed.js"></script>
最初にjqueryスクリプトへの参照を置くべきです。
<script language="JavaScript" type="text/javascript" src="/js/jquery-1.2.6.min.js"></script>
<script language="JavaScript" type="text/javascript" src="/js/jquery-ui-personalized-1.5.2.packed.js"></script>
<script language="JavaScript" type="text/javascript" src="/js/sprinkle.js"></script>
JQuery JavaScriptが含まれる前に、ready関数を呼び出しています。最初にjQueryを参照してください。
これは私にとってそれを解決したものです。もともと私はGoogleに行き、彼らのCDNページにjQueryのために彼らの提案されたスニペットをコピーして貼り付けました:
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
このスニペットでは、src
属性にHTTP:
やHTTPS:
が含まれていませんでしたが、私のブラウザFireFoxでそれを必要としていたので、次のように変更しました。
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
それから それは働いた。
JQueryプラグインがブラウザにロードされる前にカスタムスクリプトがロードされると、この種の問題が発生する可能性があります。そのため、jQueryプラグインを呼び出した後は、必ず独自のJavaScriptコードまたはjQueryコードを保持してください。そのための解決策は次のとおりです。
まず、GoogleApisでホストされているjQueryファイル、または http://jquery.com/download/ からダウンロードするローカルのjQueryファイルへのリンクを追加して、サーバー上のHost:
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
またはjQueryのための任意のプラグイン。次に、カスタムスクリプトファイルのリンクまたはコードを入力します。
<script src="js/custom.js" type="text/javascript"></script>
私の場合は、jQueryスクリプトリンクの前に.js
ファイルを配置し、jQueryスクリプトリンクの後に.js
ファイルを配置することで問題が解決しました。
<script src="http://code.jquery.com/jquery-1.10.2.js"></script>
<script src="http://code.jquery.com/ui/1.11.2/jquery-ui.js"></script>
<script src="http://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.min.js"></script>
<script src="exponential.js"></script>
さて、私の問題は異なっていた - それはChromeの中のDocument Securityモデルでした。
ここで答えを見てみると、$(document).ready()
などの関数を呼び出す前に私がどういうわけか自分のjqueryファイルをロードしていなかったことは明らかでした。しかし、それらはすべて正しい位置にいました。
私の場合は、安全なHTTPS接続を介してコンテンツにアクセスしていたのに対し、ページはGoogleなどからCDNでホストされているデータをダウンロードしようとしていたためです。毎回CDN。
編集 :これを行うもう1つの方法は、http://ではなくhttps://としてすべてのCDNでホストされているものにリンクすることです - そうするとモデルは文句を言いません。
スクリプトを起動する前にライブラリを追加します。起動するには、次の _ cdn _ を追加します。
グーグル:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
マイクロソフト
<script src="https://ajax.aspnetcdn.com/ajax/jQuery/jquery-3.2.1.min.js"></script>
Jquery
他のJquery CDNバージョンが必要な場合は、この link を確認してください。
この後:
<script type="text/javascript">
$(function(){
//your stuff
});
or
$(document).ready(function(){
//your stuff
});
</script>
ワードプレス:
<script type="text/javascript">
var $ = jQuery;
jQuery(document).ready(function($){
//your stuff
});
</script>
ワードプレスの場合は、変更する必要があるかもしれません
$(document).ready(function() {
に
jQuery(document).ready(function($){
または追加
var $ = jQuery;
前
$(document).ready(function() {
私はまったく同じ問題を抱えていましたが、上記の解決策はどれも役に立ちませんでした。ただし、.css
ファイルの後に.js
ファイルをリンクしただけで、問題は奇跡的に消えました。お役に立てれば。
私の場合、スクリプト呼び出しの順序が間違っていたので、このreferenceErrorを使用しました。順序を変更することでそれを解決しました:
<script src="js/index.js"></script>
<script src="js/jquery-1.10.2.js"></script>
に
<script src="js/jquery-1.10.2.js"></script>
<script src="js/index.js"></script>
私はおそらく私のような問題を抱えていたが、とにかくそれを置く病気をした唯一の人です。私は自分のスクリプトを 非同期に それを楽しむためだけにしようとしました。それから私はそれを忘れて、私がライブになったとき[カスタム] .jsファイルはjQuery.jsの前に時間の50%しかロードしませんでした。
だから私は変わった
<script async src="js/script.js"></script>
に
<script src="js/script.js"></script>
:)
.Netでこれを実行していて、スクリプトファイルが正しく参照されていて、jQueryが問題ないようであれば、ユーザーがスクリプトファイルにアクセスできることを確認してください。私が取り組んでいたプロジェクト(同僚)は、彼らのweb.configが匿名ユーザーへのアクセスを拒否していました。私が取り組んでいたページは匿名ユーザーにとってアクセス可能だったので、彼らはスクリプトファイルにアクセスできませんでした。以下をweb.configに追加しましたが、すべて問題ありませんでした。
<location path="Scripts">
<system.web>
<authorization>
<allow users="*"/>
</authorization>
</system.web>
</location>
これは以前に私に起こりました。
その理由は、私はAndroidをJSでWebビューに接続しているからです。そして私は引用符なしでパラメータを送りました。
js.sayHello(hello);
そして私がそれをに変えた時
js.sayHello('hello');
出来た。
ソースファイルjquery-1.2.6.min.js
はjQueryコマンドと呼ばれない$()
は<..src='jquery-1.2.6.min.js'>
より前に実行されます。
最初に<.. src="/js/jquery-1.2.6.min.js..">
を実行し、srcパスが正しいことを確認してからjqueryコマンドを実行してください。
$(document).ready(function()
私の場合、それはタイプミスでした、私はバックスラッシュを忘れていて、間違ってソースを参照していました。
src="/scripts/jquery.js"
の前
src="scripts/jquery.js"
の後
JavaScriptファイルが見つからないため、このエラーが発生しました。 JavaScriptファイルを<head>
タグ内に追加するだけです。例を見てください。
<script src="js/sample.js" type="text/javascript"></script>
<link href="css/sample.css" rel="stylesheet" type="text/css" />
または、tagに次のコードを追加してください。
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
次の2つのシナリオでもエラーが発生します。
したがって、従うべき3つのこと - 必要なスクリプトが追加されていることを確認し、それが必要な順序で追加されているかどうかを確認してください。
やあ!タグ内に引用符が混在しているため、jqueryの参照が壊れています。 Chromeで検査を行うことで、ファイルが正しくリンクされていないことを確認できました。
私の場合、私はこれを含めるのを忘れていました:
<script src ="jquery-2.1.1.js"></script>
以前私はこのエラーを引き起こしていたjquery-mobileだけを含めていました。
わかりました私はこれが私に一度起こった本当に愚かな事であったことを認めます。 scriptタグを修正して正しい内容を指すようにし、スクリプトの順序をエディタで正しい順序に変更しました…しかし、変更を保存するのを完全に忘れていました。問題が発生する可能性があります。
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script>
<script type="text/javascript" src="local_xxx.js"></script>
私は似たような問題を抱えています、そしてあなたは何を知っています、それは ネットワークが切断されているため 。それはばかげているように見えますが、それを理解するために私の〜1時間を無駄にします。
私は似たような問題を抱えていましたが、それはスタイルシートのリンクにクロージング>が欠けていたためです。
私は同じ問題を抱えていた、そして私は私のコードの中にあるすべてのジャバスクリプトコードのトップにjQueryを置くことによって解決した。
このようなもの:
<script src="https://code.jquery.com/jquery-3.3.1.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js"></script>
<script src="js/app.js" type="text/javascript"></script>
<script src="js/form.js" type="text/javascript"></script>
<script src="js/create.js" type="text/javascript"></script>
<script src="js/tween.js" type="text/javascript"></script>
希望は将来的に誰かを助けることができます。
不思議なことに、私の問題はPHPから来ていました。
REST API呼び出しが失敗し、その後のライブラリのロードが中断されました。失敗はREST呼び出しからのものなので、phpのコンパイルエラーにはなりませんでした。
Jqueryをロードしても問題ない場合は、これをオプションとしても保持してください。
JQuery JavaScriptが含まれる前に、ready関数を呼び出しています。最初にjQueryを参照してください。
ASP.NET MVCを使用している場合は、次のようにしてJSコードをいつレンダリングするかを指定できます。
1、 あなたのpage.cshtml
の中で、あなたの<script>
タグをセクションにラップし、名前を付けてください。使用する一般的な名前は 'scripts'です。
@section scripts {
<script>
// JS code...
</script>
}
2、 あなたの_Layout.cshtml
ページに@RenderSection("Scripts", required: false)
を追加し、Jqueryソースを参照した後にそれを置くことを確認してください。これはあなたのJSコードがJqueryより遅くレンダリングされるようにします。
モバイルホットスポットでインターネットを閲覧していたときに、この問題が発生しました。画像を圧縮していて、bodyタグの下に次のスクリプトを追加しました。
<script language="javascript"><!--
bmi_SafeAddOnload(bmi_load,"bmi_orig_img");//-->
</script>
私は適切な無線LAN接続に接続したとき、すべてが私のために見つけるのに動作するようです。これが誰かに役立つことを願っています。
ネットワークの問題がある場合、これも発生する可能性があります。つまり、「jqueryスクリプト」は適切に配置されていて、使用前に含まれていますが、jqueryスクリプトはページのロード時にアクセスできないため、「$」の定義は次のように扱われます。 「未定義の参照」.
テスト用/デバッグ目的:: あなたは、ブラウザで "jquery-script" URLにアクセスすることを試みることができます。それがアクセス可能であれば、あなたのページは適切にロードされるべきです、そうでなければそれは言われたエラー(あるいは他のスクリプト関連のエラー)を示すでしょう。例 - http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js は、ブラウザ(またはブラウザコンテキストスタンス)上でアクセス可能であるべきです。
私は私のwindowsホストブラウザで(スクリプトを使用して)htmlページをロードすることができたが、vm-ubuntuでロードすることができなかったという同様の問題を抱えていました。ネットワークの問題を解決し、問題を解決しました。
私は同様の問題を抱えていました。私のテストサーバーは "http"でうまく動いていました。しかしSSLを持っていた本番に失敗しました。
したがって、プロダクションでは、「HTTP」の代わりに「HTPPS」を追加しました。テストでは、「HTTP」のままにしました。
wp_register_script( 'jquery'、 ' http://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js '、array()、null、false);
wp_register_script( 'custom-script'、plugins_url( '/js/custom.js'、 _ file _ )、array( 'jquery'));
wp_register_script( 'jquery'、 ' https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js '、array()、null、false);
wp_register_script( 'custom-script'、plugins_url( '/js/custom.js'、 _ file _ )、array( 'jquery'));
これがワードプレスに取り組んでいる人に役立つことを願っています。
var $ = jQuery;
jQuery(document).ready(function($){
根本的な問題はReferenceError
です。 MDNは、 - try
/catch
ブロックがそのジョブに適したツールであることを示します。私の場合は、支払いsdk/libraryの参照エラーが見つかりませんでした。以下は私のために働きます。
try {
var stripe = Stripe('pk_test_---------');
} catch (e) {
stripe = null;
}
if(stripe){
//we are good to go now
}
明らかに修正はどんなSDK /ライブラリでもロードすることです。 jQueryは、そのメソッドを呼び出す前にtry
/catch
を使用すると、使用するライブラリがページのサブセットにロードされないページでその共有スクリプトを実行した場合に、共有JavaScriptがエラーを起こさないようにします。
あなたはjQueryライブラリを参照していません。
HTMLにこのような行を含める必要があります。
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
私の場合、この問題はWindows Server Role Serviceの「静的コンテンツ」をインストールした後に解決されました。 (OS:Windows Server 2008 R2)
'静的コンテンツ'サーバーの役割サービスをインストールする方法: