I have a Google Sites page. How can I embed JavaScript code in it, without implementing a gadget and adding JavaScript code in that?
5 に答える
いくつかの JavaScript コードを実行することはできますが、ページの編集中は自動的に単純なガジェットにラップされ、ページをレンダリングするときは iframe 内で実行され、メイン ページの DOM と対話することはできません- これは防止されますブラウザと Google サイトのセキュリティ メカニズムによって。
したがって、ガジェットを実装したくない場合は、スクリプトが行うことはすべて、その iframe のサンドボックスで実行されます。iframe の外側のサイズは、ページの設計時に定義されます。
また、スクリプトを使用してガジェットを実装した場合でも、同じ iframe サンドボックスで実行されます。ただし、ガジェットには、iframe のサイズを動的に変更できる API へのアクセスなど、いくつかの利点があります。
この記事を参照して、サーバーからアクセスしてファイルを共有できる Google ガジェット ファイルを作成し、次のコードを記述します。
<Module>
<ModulePrefs title="Custom Gadget"/>
<Content type="html">
<![CDATA[
<script src="PUT YOUR SCRIPT HERE"></script>
]]>
</Content>
</Module>
ファイルをName.xmlとして保存し、パブリック アクセス (パスワードで保護されていない) を持つファイル ホスティング サービスにアップロードします。次に、次のようにリンクを挿入します。
挿入 > .. その他のガジェット > URL でガジェットを追加
保存した .xml Google Gadget コードに URL をコピーすると、独自のカスタム Google Gadget に JavaScript が埋め込まれます。
Google は、HTML と Javascript を埋め込むためのメカニズムを更新しました。
https://gsuiteupdates.googleblog.com/2017/12/embed-html-and-javascript-in-new-google-sites.htmlをご覧ください。
@Serge Populovの回答に記載されている制限付きで、iframeでまだサンドボックス化されています。
これを行う方法については、Google のドキュメントをhttp://support.google.com/sites/bin/answer.py?hl=en&answer=2500646&ctx=cb&src=cb&cbid=-11zqfs2rw8yfe&cbrank=0で読むことができます。