0

私はJavaScriptに非常に慣れていませんが、さまざまなコードスニペットとフォーラム投稿から次のものをつなぎ合わせることができました:

var s = document.createElement("script");
s.src = "http://service.somewebsite.com/?api-key=4P1k3y5R4w50m3";
document.getElementsByTagName("body")[0].appendChild(s);

ただし、機能しません。

source-attribute は明らかに本物ではありません (サービスから API キーを共有しないように求められました) が、実際の属性をブラウザーに貼り付けると、正しいコールバックとすべてを備えた、必要な正確なスクリプトが得られます。

非常に似ているため、このコードが機能しないのは奇妙だと思います

var i = document.createElement("img");
i.src = "http://i.imgur.com/TsCGbsy.jpg";
document.getElementsByTagName("body")[0].appendChild(i);

...それがその場所にあるとき、うまく実行されます。スクリプト要素のソースを変更することについて私が知らないことはありますか、それとも私が見落としていることがありますか?

余談ですが、「s.src」をメソッドやAPIキーなどの変数に依存させたいと思っています(これが、このように定義する理由です)。誰かがこれに対する他のエレガントな解決策を持っているなら、私も感謝します. 構文などのヒントも大歓迎です。

これについて何か助けてくれてありがとう!

編集: コールバック関数でラップされた JSON オブジェクトで構成されるソースからコードを実行しようとしていることに言及する必要があったかもしれません。リンク自体は正常に動作し、使用すると機能が正しく実行されます

<script src = "http://service.somewebsite.com/?api-key=
k3y&callback=myFunction">
</script>

私は基本的に同じことをしようとしていますが、(src) が文字列と 1 つ以上の変数からつなぎ合わされているだけです。

4

1 に答える 1