Download
Magazine
Develop
Account
Download
Magazine
Develop
Login
Forgot Account/Password
Create Account
Language
Help
Language
Help
×
Login
Login Name
Password
×
Forgot Account/Password
Category:
Software
People
PersonalForge
Magazine
Wiki
Search
OSDN
>
Find Software
>
Internet
>
WWW/HTTP
>
Dynamic Content
>
XOOPS
>
Ticket List/Search
>
Ticket #6209
XOOPS
Description
Project Summary
Developer Dashboard
Web Page
Developers
Image Gallery
List of RSS Feeds
Activity
Statistics
History
Downloads
List of Releases
Stats
Source Code
Code Repository list
CVS
View Repository
Ticket
Ticket List
Milestone List
Type List
Component List
List of frequently used tickets/RSS
Submit New Ticket
Documents
Communication
Forums
List of Forums
Help (1)
Open Discussion (1)
Mailing Lists
list of ML
xoops-cvslog
News
Ticket #6209
Ticket List
Submit New Ticket
RSS
テンプレートとブロック管理のプレビューでエラーになる場合がある
Open Date:
2005-06-23 18:29
Last Update:
2005-08-25 08:15
monitor
ON
OFF
Reporter:
toshimitsu
Owner:
(None)
Type:
Bugs
Status:
Open
Component:
(None)
MileStone:
(None)
Priority:
5 - Medium
Severity:
5 - Medium
Resolution:
None
File:
None
Details
Reply
テンプレートマネージャーのプレビューでエラーになる場合があ
る
xoops2.0.10 JP 以降
テンプレートマネージャーの
プレビューポップアップで
性格には、どういう場合かは、よくわかりませんが
先頭に例えば
<script type="text/javascript">
<!--
alert("test");
//-->
</script>
を書くと
かならず
javascriptの
witelnで、終了していない文字列型の定数ですエラー
不正なHTMLページになるためポップアップもしない
これは、仕様かな?たぶん違いますよね。
カスタムブロックプレビュー(HTML)も同じです
Ticket History (3/7 Histories)
Show older Histories
2005-06-23 23:09
Updated by:
toshimitsu
Comment
Reply
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
Updated by:
okuhiki
Comment
Reply
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
Updated by:
okuhiki
Comment
Reply
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
Updated by:
toshimitsu
Comment
Reply
Logged In: YES
user_id=6033
okuhikiさんへ
javscriptは私で確認しきれなくて
レスをずっとできなかったです。
私にはお手上げですのレス。
ほとんどはうまくいくのですが・・、
複雑すぎるときに、うまくないときもあるような、無いような?
ブラウザーがフリーズすることあるような?ないような?
2005-07-22 19:40
Updated by:
okuhiki
Comment
Reply
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
Updated by:
(del#8225)
Comment
Reply
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
Updated by:
okuhiki
Comment
Reply
Logged In: YES
user_id=13441
「<」「>」は、要素のタグを示す箇所以外で書き出せませんね。
ポップアップ書き出しスクリプト中の文字列部分ですから、実体参
照やエスケープ(%表記)する事も必要かと思います。
Attachment File List (
0
)
Attachment File List
No attachments
Edit
Add Comment
You are not logged in.
I you are not logged in, your comment will be treated as an anonymous post. »
Login
Add Comment
Preview
Submit
る
xoops2.0.10 JP 以降
テンプレートマネージャーの
プレビューポップアップで
性格には、どういう場合かは、よくわかりませんが
先頭に例えば
<script type="text/javascript">
<!--
alert("test");
//-->
</script>
を書くと
かならず
javascriptの
witelnで、終了していない文字列型の定数ですエラー
不正なHTMLページになるためポップアップもしない
これは、仕様かな?たぶん違いますよね。
カスタムブロックプレビュー(HTML)も同じです