FireFoxでは動作するが、ChromeやIEでは動作しないJavaScriptコードがあります。
Chrome JSコンソールで、私は以下のエラーを受け取ります。
msgstr "不明なSyntaxError:予期せぬ入力の終わり"#:。
私が使っているJavaScriptコードは次のとおりです。
<script>
$(function() {
$("#mewlyDiagnosed").hover(function() {
$("#mewlyDiagnosed").animate({'height': '237px', 'top': "-75px"});
}, function() {
$("#mewlyDiagnosed").animate({'height': '162px', 'top': "0px"});
});
</script>
エラーは最後の行の});
にあります。
2番目の});
を追加してください。
正しくインデントされていれば、コードは次のようになります。
$(function() {
$("#mewlyDiagnosed").hover(function() {
$("#mewlyDiagnosed").animate({'height': '237px', 'top': "-75px"});
}, function() {
$("#mewlyDiagnosed").animate({'height': '162px', 'top': "0px"});
});
MISSING!
あなたは外側の$(function() {
を決して閉じませんでした。
私の場合は、空のJSONを解析しようとしていました。
JSON.parse(stringifiedJSON);
言い換えれば、起こったことは次のとおりです。
JSON.parse("");
http://jsbeautifier.org/ /は、縮小したJSコードをインデントするのに役立ちます。
また、 Google Chrome を使用すると、「きれいな印刷」を使用できます。下のスクリーンショットの例を参照してください。Stack Overflowのjquery.min.js
が、私のブラウザから正しくインデントされている:)
コードを少しフォーマットして、内側のホバー機能を閉じただけです。下の印のある外側の部品は閉じていません。
$(// missing closing)
function() { // missing closing }
$("#mewlyDiagnosed").hover(
function() {
$("#mewlyDiagnosed").animate({'height': '237px', 'top': "-75px"});
},
function() {
$("#mewlyDiagnosed").animate({'height': '162px', 'top': "0px"});
});
私の場合は、 bookmarklet の 単純な二重引用符 issueになってしまいました。ブックマークレットには単一引用符のみを使用してください。念のため、これは誰かを助けます。
このエラーは、空のajax
を解析しようとしたときに、空の返されたJson
呼び出しが主な原因です。
返されたデータが空の場合にこのテストを解決する
$.ajax({
url: url,
type: "get",
dataType: "json",
success: function (response) {
if(response.data.length == 0){
// EMPTY
}else{
var obj =jQuery.parseJSON(response.data);
console.log(obj);
}
}
});
JavaScriptのブックマークレットを書き込もうとしたときにこのエラーが発生しました。何が原因で発生しているのかわかりませんでした。しかし、結局私は次のウェブサイトを通してブックマークレットをURLエンコードすることを試みました: http://mrcoles.com/bookmarklet/ そしてそれからエラーは消えた、それはそれがされているJavaScriptコードの特定の文字に関する問題であったに違いありません特別なURL制御文字として解釈されます。
これは、JSに追加するファイルにコメントがあり、実際に何が起こっているのか非常に厄介な理由があるためです-事前にレンダリングされてエラーをキャッチするVM
ファイルをクリックすると、エラーは、私の場合、使用していたコードのコメントを外すだけでした。
私の場合は、アンカー内のjavascript:void(0)
に(0)
がないためです。
また、ページの最後のスクリプトブロックの終わりを指すこのエラーが表示されましたが、実際にエラーがonclick="pagename"
の代わりにonclick="window.location='pagename'"
の要素をクリックすることであることがわかりました。常に不足しているブラケットではありません!