2

私は Plone と jQueryUI を初めて使用し、Plone ページで jQueryUI を動作させることができませんでした。

Plone 4 (4.1.4 41143) と jQueryUI 1.8.16 (http://plone.org/products/collective.js.jqueryui) をインストールしました。

Zope Management Interface > portal_javascripts の下に、collective.js.jqueryui.custom.min.js が存在し、有効になっています。

http://jqueryui.com/demos/button/の例を実装するために、Plone ページの本文テキストに配置しました。

<script type="text/javascript">
    jQuery({function($) {
        $( "input:submit, a, button", ".demo" ).button();
        $( "a", ".demo" ).click(function() { return false; });
    });
</script>

<DIV class=demo>
<BUTTON type=submit>A button element</BUTTON> <INPUT value="A submit button"  type=submit> <A href="#">An anchor</A>
</DIV><!-- End demo -->

しかし、結果のページには期待される結果が表示されません。

上記のコードの「jQuery」を「$」、「collective.js.jqueryui.custom.min」に置き換えてみましたが、まだ何も機能していません。

私はいくつかの jQueryUI を Plone の外部で動作させることができましたが、Plone 内でそれを使用する方法を知りたいと思っています。どんな助けでも感謝します。

4

4 に答える 4

7

scriptタグの内容は、おそらく Plone の HTML フィルタリングによって削除されています。これは、「サイト設定」の「HTML フィルタリング」で変更できます。(ダイアログがわかりにくいので、2 つのボタンをクリックする必要があります。最初に「厄介なタグ」から削除し、次にページの下部にある「保存」します。)

ただし、ユーザーがscriptembed、およびその他のタグを使用できないようにすることには、十分なセキュリティ上の理由があることに注意してください。たとえば、コメントでも許可されている場合や、経験の浅いユーザーが危険なコードをコピー/貼り付けする場合など、あらゆる種類の問題につながる可能性があります。

練習しているだけで、悪質なインターネットにサイトを置かないのであれば問題ありませんが、実際のサイトの展開を開始する場合は、独自のファイルベースのアドのページ テンプレートにスクリプトを配置する方がはるかに優れています。製品について。

于 2012-05-21T12:05:29.960 に答える
0

scriptタグ内の構文が正しくありません。これを試して:

jQuery(function($) {
    $( "input:submit, a, button", ".demo" ).button();
    $( "a", ".demo" ).click(function() { return false; });
})($);​
于 2012-05-20T18:49:04.320 に答える
0

スクリプトと jquery UI を plone/zope セットアップで動作させようとして同様の問題が発生しました。解決策は、それらを JavaScript レジストリ (/portal_javascripts) に登録することでした。スクリプト自体は /portal_skins/custom に追加されました。ここには、私が取り組んでいたホームページもありました。前述のように、スクリプト タグはソースから除外され、代わりにレジストリのスクリプトが自動的に追加されます。JavaScript レジストリでは順序が重要であることにも注意してください。

これが、この質問に出くわした他のユーザーに役立つことを願っています.

于 2013-02-05T02:23:12.213 に答える
0

はい、上記のようにスクリプトタグを許可する必要があるかもしれませんが、少なくとも Plone 4.2.1.1 で Collective.js.jqueryui 1.8.16.9 を使用している場合、jQuery という単語を $ 記号に置き換えるまで、この例は機能しませんでした。 .

<script>
    $(function() {
        $( "#progressbar1" ).progressbar();
        $( "#slider" ).slider();
        $( "input:submit, a, button", ".demo" ).button();
        $( "a", ".demo" ).click(function() { return false; });
     });
 </script>

上記の行のセミコロンの直前に ($) を置くこともできましたが、違いは見られませんでした。

スクリプトが「厄介なタグ」リストに含まれている場合でも、スクリプトはファイル システム ページ テンプレートで機能しました。また、ページ テンプレートで次のようにスクリプトをドキュメントの head に挿入することもできます。

<metal:slot fill-slot="javascript_head_slot">
<script>
    $(function() {
        $( "#slider" ).slider();
        $( "#progressbar1" ).progressbar();
        $( "input:submit, a, button", ".demo" ).button();
        $( "a", ".demo" ).click(function() { return false; });
    });
</script>
</metal:slot>

(もっと適切な接頭辞があるかどうか知りたいのですが、javascript はよくわかりません。)

于 2012-11-19T01:11:47.253 に答える