0

js ファイル内で Google API を使用したいのですが、どうすれば使用できますか? js ファイルで google.load() を直接使用しようとしましたが、google が定義されていないと言われました。次に、次のコードを使用しようとしました

var s = document.createElement('script');

しかし、ドキュメントが定義されていないと言われました。jsファイル内でGoogle APIを使用するにはどうすればよいですか? ありがとうございました。

ここで使用したいのはGoogle Feed APIです。

私が使用したhtmlコードは

<!DOCTYPE HTML>
<html>
    <head>
        <title>
            Example
        </title>
        <script src="https://www.google.com/jsapi" type="text/javascript"></script>
    </head> 

    <body>
        <div>
            <p id="computation_results">please wait, computing … </p>
        </div>
        <script>
            var worker = new Worker('numberworker.js');
            worker.postMessage({first:123,second:456});
            worker.onmessage = function (event)
            {
                alert(event.data);
                document.getElementById('computation_results').textContent = event.data;
            };
        </script>
    </body>
</html>

APIを使用したいjsファイルは

// Our callback function, for when a feed is loaded.
function feedLoaded(result) {
if (!result.error) {
    var container = document.getElementById("content");
    container.innerHTML = '';
    for (var i = 0; i < result.feed.entries.length; i++) {
      var entry = result.feed.entries[i];
      var div = document.createElement("div");
      div.appendChild(document.createTextNode(entry.title));
      container.appendChild(div);
    }
  }
}
function OnLoad() {
  var feed = new google.feeds.Feed("http://www.digg.com/rss/index.xml");
  feed.load(feedLoaded);
}

onmessage = function (event) 
{ 
    var fileref=document.createElement('script');
    var filename="https://www.google.com/jsapi";
    fileref.setAttribute("type","text/javascript");
    fileref.setAttribute("src", filename);
    document.getElementsByTagName("head")[0].appendChild(fileref);
//  google.load("feeds", "1");
//  google.setOnLoadCallback(OnLoad);
    var first=event.data.first; 
    var second=event.data.second; 
    postMessage("Work done! "+ " "+first+" "+second);
}; 
4

2 に答える 2

0

API を使用する前に、API を組み込む必要があります。これをヘッドブロックに入れてみてください:

<script type="text/javascript" src="https://www.google.com/jsapi"></script>

フィード API をロードするには、次のような別のスクリプト ブロックを使用できます。

<script type="text/javascript">
    google.load("feeds", "1");
    var feed = new google.feeds.Feed("<<url here>>");
    ...
</script>
于 2012-07-23T18:40:37.583 に答える
0

あなたのhtmlが最初に検証されていることを確認するか、テストファイルへのリンクを張ってください。わずかなエラーでも、いくつものエラーが発生する可能性があります。タグでラップされたファイルで次のコードを単独で試してみたところ、API を読み込むことができました。JavaScript を使用して JavaScript ファイルをロードするには、次のようにします。

var fileref=document.createElement('script');
var filename="https://www.google.com/jsapi";
fileref.setAttribute("type","text/javascript");
fileref.setAttribute("src", filename);
document.getElementsByTagName("head")[0].appendChild(fileref);

その後、API呼び出しを使用します

google.load(....)\

編集:

スクリプトを作成するために、ブラウザーの外部でプロセスを使用する html5 Web ワーカーを使用しています。html5 ワーカーは DOM にアクセスできないため、これは不可能です。http://www.sitepoint.com/javascript-threading-html5-web-workers/

ワーカーの外で作成するか、スクリプト要素に含める必要があります

于 2012-07-23T18:51:07.427 に答える