Download
Entwicklung
Konto
Download
Entwicklung
Anmelden
Vergessen Konto/Passwort
Konto erstellen
Sprache
Hilfe
Sprache
Hilfe
×
Anmelden
Anmeldename
Passwort
×
Vergessen Konto/Passwort
Übersetzungsstatus von Deutsch
Kategorie:
Software
Personen
PersonalForge
Magazine
Wiki
Suche
OSDN
>
Finden Software
>
Internet
>
WWW/HTTP
>
Dynamic Content
>
XOOPS
>
Ticket-Liste / Suche
>
Ticket #6209
XOOPS
Beschreibung
Projekt Zusammenfassung
Entwickler-Dashboard
Web-Seite
Entwickler
Bildergalerie
RSS Feed-Liste
Aktivität
Statistiken
Historie
Downloads
Aller Releases-Liste
Statistiken
Quellcode
Quellcode-Repositorys-Liste
CVS
Repository ansehen
Ticket
Ticket-Liste
Liste der Meilensteine
Typenliste
Komponentenliste
Liste der zuletzt benutzten Tickets/RSS
Neue Ticket abschicken
Dokumente
Kommunikation
Foren
Forum-Liste
Hilfe (1)
Offene Diskussion (1)
Mailinglisten
Alle Mailinglisten
xoops-cvslog
Neuigkeiten
Ticket #6209
Ticket-Liste
Neue Ticket abschicken
RSS
テンプレートとブロック管理のプレビューでエラーになる場合がある
Eröffnet am:
2005-06-23 18:29
Letztes Update:
2005-08-25 08:15
beobachte
ON
OFF
Auswertung:
toshimitsu
Verantwortlicher:
(Keine)
Typ:
Fehler
Status:
Offen
Komponente:
(Keine)
Meilenstein:
(Keine)
Priorität:
5 - Mittel
Schweregrad:
5 - Mittel
Lösung:
Keine
Datei:
Keine
Details
Antworten
テンプレートマネージャーのプレビューでエラーになる場合があ
る
xoops2.0.10 JP 以降
テンプレートマネージャーの
プレビューポップアップで
性格には、どういう場合かは、よくわかりませんが
先頭に例えば
<script type="text/javascript">
<!--
alert("test");
//-->
</script>
を書くと
かならず
javascriptの
witelnで、終了していない文字列型の定数ですエラー
不正なHTMLページになるためポップアップもしない
これは、仕様かな?たぶん違いますよね。
カスタムブロックプレビュー(HTML)も同じです
Ticket-Verlauf (3/7 Historien)
Show older Histories
2005-06-23 23:09
Aktualisiert von:
toshimitsu
Kommentar
Antworten
Logged In: YES
user_id=6033
<script type="text/javascript">
<!--//
alert("test");
//-->
</script>
上記の例の場合
<script type="text/javascript">
<!--//
win = openWithSelfMain
("", "xoops_system_block_preview", 250, 200, true);
win.document.writeln("<html><head><meta http-
equiv=\"content-type\" content=\"text/html; charset=UTF-8
\" /><meta http-equiv=\"content-language\"
content=\"en\" /><title>domifaraoop</title><link
rel=\"stylesheet\" type=\"text/css\" media=\"all\"
href=\"http://domifara.lolipop.jp/xo/themes/mlang_stream/st
yle.css\" /></head><body><table><tr><th>ss</th></tr><tr><td
><script type=\"text/javascript\"> ");win.document.writeln
("<!--//");win.document.writeln("alert
(\"test\"); ");win.document.writeln("//--
> ");win.document.writeln
("</script> ");win.document.writeln
("</td></tr></table></body></html>");
win.document.close();
//-->
</script>
-------------------------------------------------------
このポップアップでは、
終了していない文字列型の定数は、
javascriptを含んだものはできない
2005-07-03 02:56
Aktualisiert von:
okuhiki
Kommentar
Antworten
Logged In: YES
user_id=13441
\modules\system\admin\blocksadmin\main.php Line 99
echo 'win.document.writeln(
"'.str_replace('"', '\"', $line).'"
);';
ですが、xhtml文書内でjavascriptを書く場合コメント行で
も "<" ">"は変換して置かないと、誤動作するかもね?
echo "win.document.writeln(
unescape('".str_replace(
array("'","<",">"),
array("\'","%3C","%3E"),
$line
)."'));";
"<",">"を"%3C","%3E"に書き変えて、xhtml文書には書き出し、ポ
ップアップへの書き出し時には、javascriptのunescapeを使い、元
に戻して試ました。
私の環境では、動作していますがいかがでしょうか?
2005-07-03 03:40
Aktualisiert von:
okuhiki
Kommentar
Antworten
Logged In: YES
user_id=13441
別に上げた方が良いかも知れませんが、同じコードですので、こち
らに書かせて頂きます。
Mysqlデバグモードのポップアップでも同様の記述が有ります。
\include\cp_functions.php Line 179
echo 'debug_window.document.writeln(
"'.str_replace('"', '\"', $line).'");';
これを、
echo "debug_window.document.writeln(
unescape('".str_replace(
array("'","<",">"),
array("\'","%3C","%3E"),
$line)."'));";
こちらは、はっきりとした症状は確認出来ていません
が、"<",">"を書き出さない方が、無難だと思いましたので。
2005-07-22 12:34
Aktualisiert von:
toshimitsu
Kommentar
Antworten
Logged In: YES
user_id=6033
okuhikiさんへ
javscriptは私で確認しきれなくて
レスをずっとできなかったです。
私にはお手上げですのレス。
ほとんどはうまくいくのですが・・、
複雑すぎるときに、うまくないときもあるような、無いような?
ブラウザーがフリーズすることあるような?ないような?
2005-07-22 19:40
Aktualisiert von:
okuhiki
Kommentar
Antworten
Logged In: YES
user_id=13441
こんにちは
怪しいコードを試して頂き、ありがとうございます。
そうですか、ダメでしたか。
あまり複雑なモノを書かない(書く知識が無い)ので、
私の環境では、綺麗に出ていたのですがね。
推測ですが、
スクリプトをコメントアウトしていなければ、問題ないのですが、
コメントアウトを行なっている場合は、
スクリプト中に有る「--」も問題有りかも。
また、「%」が元の文書中に有ると誤変換するかも。
echo "debug_window.document.writeln(
unescape('".str_replace(
array("'",'"',"<",">","--","%"),
array("\'","\"","%3C","%3E","%2D%2D","%25"),
$line)."'));";
試していませんが、こんな書き方でいかがでしょうか。
私も、javascriptを知っているわけではないです。
怪しいモノか、利便性の有るモノなのかすら判らないので、
javascriptの実行は標準で禁止に設定している程度の知識です。
2005-08-24 22:50
Aktualisiert von:
(del#8225)
Kommentar
Antworten
Logged In: YES
user_id=8225
レスが遅くなりましたけど、tplsets/main.phpの1274行目の、
foreach ($lines as $line) {
echo
'preview_window.document.writeln("'.str_replace('"', '\"',
$line).'");';
}
を
foreach ($lines as $line) {
$segments = preg_split('/(<\/?scrip)/',$line, -1,
PREG_SPLIT_NO_EMPTY|PREG_SPLIT_DELIM_CAPTURE);
foreach($segments as $segment) {
echo
'preview_window.document.write("'.str_replace('"', '\"',
$segment).'");';
}
echo 'preview_window.document.writeln("");';
}
に変更すると、うまくいきませんか?
<script> を <scrip と t> に分割して出力する事によって何とか
なりそうなんですけど。
2005-08-25 08:15
Aktualisiert von:
okuhiki
Kommentar
Antworten
Logged In: YES
user_id=13441
「<」「>」は、要素のタグを示す箇所以外で書き出せませんね。
ポップアップ書き出しスクリプト中の文字列部分ですから、実体参
照やエスケープ(%表記)する事も必要かと思います。
Dateianhangliste (
0
)
Dateianhangliste
Keine Anhänge
Bearbeiten
Kommentar hinzufügen
You are not logged in.
I you are not logged in, your comment will be treated as an anonymous post. »
Anmelden
Kommentar hinzufügen
Vorschau
Abschicken
る
xoops2.0.10 JP 以降
テンプレートマネージャーの
プレビューポップアップで
性格には、どういう場合かは、よくわかりませんが
先頭に例えば
<script type="text/javascript">
<!--
alert("test");
//-->
</script>
を書くと
かならず
javascriptの
witelnで、終了していない文字列型の定数ですエラー
不正なHTMLページになるためポップアップもしない
これは、仕様かな?たぶん違いますよね。
カスタムブロックプレビュー(HTML)も同じです