このエラーが発生したのは私が初めてではなく、Stack Overflow にこのエラーに関する投稿が他にもたくさんあります。しかし、解決策が見つからなかったため、この質問を書きました。
私はかなり初心者で、最近 HTML5 を使用して JSON、jQuery、JavaScript の学習を開始しました。そのため、以下のような非常に基本的な例を実際に試してみたいと思いました。
<!DOCTYPE HTML>
<html>
<head>
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.3.2/jquery.mobile-1.3.2.min.css" />
<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
<script src="http://code.jquery.com/mobile/1.3.2/jquery.mobile-1.3.2.min.js"></script>
<script>
debugger;
</script>
<title>Doc Title</title>
</head>
<body>
<p id="rssFeed">News Loadin...</p>
<script>
debugger;
var yQuery = 'http://news.google.com/news?geo=02138&output=rss';
var yql = 'http://query.yahooapis.com/v1/public/yql?q=' + encodeURIComponent("select * from xml where url='" + yQuery + "'") + '&format=json&callback=?';
debugger;
(function(){
debugger;
$.getJSON(yql)
debugger;
.done(function(data){
debugger;
$.each(data.query.results.item, function(i,item){
alert(item.link);
});
});
})();
</script>
</body>
</html>
この HTML ファイルはローカル マシン上にあり、Chrome ブラウザでテストしています。ブラウザに表示されるのは、'News Loadin...' テキストだけです。アラートが表示されません (アラート(item.link); から)。
このコードを Chrome (F12) でデバッグしようとしましたが、コードに「デバッガー」をいくつか入れました。デバッグ ウィンドウで、次Uncaught SyntaxError: Unexpected token .
の行にエラーが表示されます.done(function(data)
URLについては、同じエラーに対するスタックオーバーフローの他の回答で提案されているように、両方のオプションを試しました。
- コールバック=?
- コールバック=cbfunc
yql の値は次のとおりです。
http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20xml%20where%20url%3D'http%3A%2F%2Fnews.google.com%2Fnews%3Fgeo%3D02138%26output%3Drss'&format=json&callback=cbfunc
ブラウザの URLにyql
with'cbfunc'
を入力すると JSON が取得され、入力すると'?'
エラーが発生します。ただし、HTML をロードすると、どちらも機能せず、Uncaught SyntaxError: Unexpected token
両方で同じエラーが発生します。
私が気付いたもう 1 つの問題は、Chrome でこのファイルを開くたびに、デバッガーが最初の要素でのみ停止するdebugger
ことです。これは、Chrome 開発ツールで (行番号を選択して) ブレークポイントを設定しても発生します。それは要素で止まらないでしょう。<script>
<head>
debugger
<body>.
<body>
私はこのようなことにかなり慣れていないので、ここでのばかげた間違いを許してください。
よろしく、ルミット