1

サイトの API を使用して Javascript を使用して、Soundcloud のトラックを検索しようとしています。次のコードでページtest.htmlを作成しました (クライアント ID は削除されています):

<html>
<head>
<script src="http://connect.soundcloud.com/sdk.js">
function findMusicByTag(tag)
{
SC.initialize({
    client_id: 'MY_CLIENT_ID'
});
SC.get('/tracks',{tags:\"tag\"},
    function(tracks)
    {
        console.log(tracks);
    });
}
</script>
</head>
<body onload="findMusicByTag('hitech')">
</body>
</html> 

Chrome でページを読み込んでコンソールに移動すると、次のエラーが表示されます。

Uncaught ReferenceError: findMusicByTag is not defined         test.html:17

私が定義している方法の何が問題になっていfindMusicByTag()ますか?

4

2 に答える 2

3

<script>タグを 2 つに分ける必要があります。

<script type="text/javascript" src="http://connect.soundcloud.com/sdk.js"></script>
<script type="text/javascript">
function findMusicByTag(tag)
{
    SC.initialize({
        client_id: 'MY_CLIENT_ID'
    });
    SC.get('/tracks',{tags:tag},
        function(tracks)
        {
            console.log(tracks);
    });
}
</script>

MDNで言及されているように:

ソース

この属性は、外部スクリプトの URI を指定します。これは、スクリプトをドキュメント内に直接埋め込む代わりに使用できます。script属性が指定された要素のsrcタグ内にスクリプトを埋め込んではいけません

編集:バックスラッシュと二重引用符を削除しました{tags:tag}

于 2013-03-12T04:28:02.930 に答える
1

スクリプト タグを区切ることに加えて、タグの前後の /" を削除する必要があります。

<html>
<head>
<script src="http://connect.soundcloud.com/sdk.js">
</script>
<script type="text/javascript">
function findMusicByTag(tag)
{
SC.initialize({
    client_id: 'your id'
});
SC.get('/tracks',{tags: tag},
    function(tracks)
    {
        console.log(tracks);
    });
}
</script>
</head>
<body onload="findMusicByTag('hitech')">
</body>
</html> 
于 2013-03-12T04:39:34.440 に答える