HTMLで AA Previewerを作っちゃいました

このエントリーをはてなブックマークに追加
2221:03/10/26 01:35 ID:WQqWz2/k
ファイル名:aap_ie.js

/* IE依存ブラウザ用スクリプト */
function giko(){ // >>60
var str = sii.innerText;
onigiri.innerText = sii.innerText = str;
str = allReplace(str,'<','&lt;'); //'<','&amp;lt;'
str = allReplace(str,'>','&gt;'); //'>','&amp;gt;'
str = allReplace(str,'\n','<br>');
w=window.open("","w","resizable=yes");
with(w.document){
writeln("<html><head><title>プレビュー画面</title>");
writeln("<style><!-- *{font-family: \"MS Pゴシック\",Mona;} --></style>");
writeln("</head><body bgcolor=#EFEFEF>");
writeln("AA Previewer".fontcolor("red").big());
writeln("<dl><dt>1 :"+"名無しさん@お腹いっぱい".fontcolor("green").bold()+" :");
writeln(mona()+"<dd>"+str+"</dl><hr>");
writeln("<form><input type=button onClick='window.close()' value='Close'></form>");
writeln("</body></html>");close();}
}
function hikky(hiroyuki){
var a=document.body.createTextRange();a.moveToElementText(hiroyuki);a.execCommand("Copy");
document.all.sii.focus();
}
function paste(){
var clp=clipboardData.getData('Text');
if(clp!=null){
document.all.onigiri.innerText=document.all.sii.innerText;
document.all.sii.innerText=clp;
document.all.sii.focus();
}
}
function sel(t){ // >>152
sii.innerHTML = sii.innerHTML.replace(/<P>&nbsp;<\/P>$/, "") + t.options[t.selectedIndex].value;
t.selectedIndex = 0;
sii.focus();
}
function fwrite(){ // >>176-177
var t="<select onchange='sel(this);'>";
var x=[
["モナー","  ∧_∧"," ( ´∀`)"," (    )"," | | |"," (__)_)"],
["ギコ","        ∧ ∧ ","  〜′ ̄ ̄( ゚Д゚)","   UU ̄ ̄ U U"],
/* 略 */
["複数行","モナー","ギコ"]
];
var y=new Array();
for(i=0;i<x.length-1;i++) y[i]=x[i];
y[x.length-1]=[
"",
"  ∧_∧<br> ( ´∀`)<br> (    )<br> | | |<br> (__)_)",
"        ∧ ∧ <br>  〜′ ̄ ̄( ゚Д゚)<br>   UU ̄ ̄ U U"
];

/*
2231:03/10/26 01:35 ID:WQqWz2/k
続き */
v=[
["プレビュー(<u>P</u>)","コピー","貼り付け","セーブ(<u>S</u>)",
"クリア(<u>C</u>)","<u>U</u>ndo","<u>R</u>edo"],
["バックアップを開く","バックアップをコピー","セーブしたAAを開く",
"セーブしたAAをコピー"]
];
c=[
["giko();","hikky(sii);","paste();","zonu.innerText=sii.innerText;sii.focus();",
"onigiri.innerText=sii.innerText;sii.innerText='';sii.focus();",
"document.execCommand('undo')","document.execCommand('redo')"],
["sii.innerText=onigiri.innerText;sii.focus();","hikky(onigiri);",
"sii.innerText=zonu.innerText;sii.focus();","hikky(zonu);"]
];
k=[
["p","","","s","c","u","r"],
["","","",""]
];
with(document){
write('<dd><span id="sii" class="main" contenteditable>');
write('AA Previewer');
write('</span><br><br></dl>');
write('<form id="morara" onsubmit="return false;">');
for(i=0;i<v.length;i++){
for(j=0;j<v[i].length;j++)
write('<button onclick="'+c[i][j]+'" accesskey="'+k[i][j]+'">'+v[i][j]+'</button>');
write("<br>");
}
for(i=0;i<x.length;i++){
write(t+'<option value="">'+x[i][0]+'</option>');
for(j=1;j<x[i].length;j++)
write('<option value="'+y[i][j]+'">'+x[i][j]+'</option>');
write('</select>');
}
write('<br> コマンド(<u>C</u>) <input type=text size=50 accesskey="c" id="cmd" onkeypress="if(event.keyCode==13)eval(this.value);">');
write('<input type=button value="実行" onclick="eval(morara.cmd.value);">');
write('<br><nobr><span id="onigiri" class="sub" contenteditable></span>');
write('<span id="zonu" class="sub" contenteditable></span></nobr></form>');
}
}
2241:03/10/26 01:37 ID:WQqWz2/k
ファイル名:aap.js

/* IE非依存ブラウザ用スクリプト */
function giko(){ // >>60
var str = morara.sii.value;
morara.onigiri.value = morara.sii.value = str;
str = allReplace(str,'<','&lt;'); //'<','&amp;lt;'
str = allReplace(str,'>','&gt;'); //'>','&amp;gt;'
str = allReplace(str,'\n','<br>');
w=window.open("","w","resizable=yes");
with(w.document){
writeln("<html><head><title>プレビュー画面</title>");
writeln("<style><!-- *{font-family: \"MS Pゴシック\",Mona;} --></style>");
writeln("</head><body bgcolor=#EFEFEF>");
writeln("AA Previewer".fontcolor("red").big());
writeln("<dl><dt>1 :"+"名無しさん@お腹いっぱい".fontcolor("green").bold()+" :");
writeln(mona()+"<dd>"+str+"</dl><hr>");
writeln("<form><input type=button onClick='window.close()' value='Close'></form>");
writeln("</body></html>");close();}
}
function sel(t){
document.all.sii.value+=t.options[t.selectedIndex].value;
t.selectedIndex=0;
document.all.sii.focus();
}
function fwrite(){
var t="<select onchange='sel(this);'>";
var x=[
["モナー","  ∧_∧"," ( ´∀`)"," (    )"," | | |"," (__)_)"],
["ギコ","        ∧ ∧ ","  〜′ ̄ ̄( ゚Д゚)","   UU ̄ ̄ U U"],
/* 略 */
["複数行","モナー","ギコ"]
];
var y=new Array();
for(i=0;i<x.length-1;i++) y[i]=x[i];
y[x.length-1]=[
"",
"  ∧_∧\n ( ´∀`)\n (    )\n | | |\n (__)_)",
"        ∧ ∧ \n  〜′ ̄ ̄( ゚Д゚)\n   UU ̄ ̄ U U"
];
v=[
["プレビュー(<u>P</u>)","セーブ(<u>S</u>)","クリア(<u>C</u>)","バックアップを開く","セーブしたAAを開く"]
];
c=[
["giko();","morara.zonu.value=morara.sii.value;morara.sii.focus();",
"morara.onigiri.value=morara.sii.value;morara.sii.value='';morara.sii.focus();",
"morara.sii.value=morara.onigiri.value;morara.sii.focus();",
"morara.sii.value=morara.onigiri.value;morara.sii.focus();"]
];
k=[
["p","s","c","",""]
];
/*
2251:03/10/26 01:37 ID:WQqWz2/k
続き */
with(document){
write('<dd><textarea id="sii" class=main wrap=off></textarea></dl>');
for(i=0;i<v.length;i++){
for(j=0;j<v[i].length;j++)
write('<button onclick="'+c[i][j]+'" accesskey="'+k[i][j]+'">'+v[i][j]+'</button>');
write("<br>");
}
for(i=0;i<x.length;i++){
write(t+'<option value="">'+x[i][0]+'</option>');
for(j=1;j<x[i].length;j++)
write('<option value="'+y[i][j]+'">'+x[i][j]+'</option>');
write('</select>');
}
write('<br> コマンド(<u>C</u>) <input type=text size=30 accesskey="c" name="cmd" onkeypress="if(event.keyCode==13)eval(this.value)">');
write('<br><textarea name="onigiri" class="sub"></textarea><textarea name="zonu" class="sub"></textarea></form>');
}
}
2261:03/10/26 01:40 ID:WQqWz2/k
ファイル名:aaprev.css

body {
background-color: #efefef;
}

p {
margin:0px;
}


ファイル名:aap_ie.css

.main {
background-color: #efefef;
width: 100%;
border: 0px;
}

.sub {
background-color: white;
height: 200px;
width: 49%;
border: 1px solid #666666;
overflow: scroll;
}

#sii {
width: 50%;
overflow: auto;
}


ファイル名:aap.css

.main {
background-color: #EFEFEF;
font-family: "MS Pゴシック",Mona;
font-size: 12pt;
width: 94%;
height: 400px;
border: 0px;
}
.sub {
background-color: #FFFFFF;
height: 200px;
width: 49%;
border: 1px solid #666666;
overflow: scroll;
}
2271:03/10/26 01:43 ID:WQqWz2/k
こんだけ。
IEでもMozillaでも両方とも使えるはずです。動作確認していないので何とも言えないけど。

774 ◆x/rO98BbgY さん、AA Previewerのサイトにアップローダつけていただけませんか?
そうなるとものすごく助かります。
228774 ◆x/rO98BbgY :03/10/26 19:55 ID:/MIq0Z1y
う、2-styleって確か、CGI使えないんだよね・・・
229774 ◆x/rO98BbgY :03/10/26 20:11 ID:/MIq0Z1y
つうか うpろだ系は管理が大変だからなぁ・・・
230774 ◆x/rO98BbgY :03/10/26 20:56 ID:/MIq0Z1y
β0.1.1をうpしますた(>>220-226)

NN7では動いたのでMozillaもいけるとおもいます。
あと、DonutPでも動きました。
231774 ◆x/rO98BbgY :03/10/26 21:52 ID:/MIq0Z1y
Operaではテンプレ以外何も動作しませんでした・・・。
232名無しさん@お腹いっぱい。:03/10/27 01:04 ID:jYIRsEYv
おいらもMoz対応のをちょと改造してみましたヽ(´ー`)ノ
改行に反応してtextareaの形が変化します.
あまり確認作業をしてないっす.Mozで一応確認済み.ヽ(´ー`)ノ
IE5.5未満,N6以降を使ってらっしゃる方などに,おすすめです(opera未確認)ヽ(´ー`)ノ
<html><head><script type="text/javascript" language="javascript"><!--// 031027
function mona(){ // >>60
function giko(){ // >>176
function sel(t){ // >>176
function fwrite(){ //>>220-226
var t="<select onchange='sel(this);resizetxt(document.all.sii.value);'>";
var x=[
["モナー","  ∧_∧"," ( ´∀`)"," (    )"," | | |"," (__)_)"],
["ギコ","        ∧ ∧ ","  〜′ ̄ ̄( ゚Д゚)","   UU ̄ ̄ U U"],
["顔文字","(´∀`)","(゚Д゚)","(・∀・)"],
["モナギコ","∧","∀","´","`","⊂","⊃","∩","∪","│","゚"],
["罫線","━","┃","┏","┓","┛","┗","┣","┳","┫","┻","╋",
"─","│","┌","┐","┘","└","├","┬","┤","┴","┼",
"┠","┯","┨","┷","┿","┝","┰","┥","┸","╂"," ̄","―"],
["ロシア","А","Б","В","Г","Д","Е","Ё","Ж","З","И","Й","К","Л","М","Н","О",
"П","Р","С","Т","У","Ф","Х","Ц","Ч","Ш","Щ","Ы","Ь","Э","Ю","Я",
"а","б","в","г","д","е","ё","ж","з","и","й","к","л","м","н","о",
"п","р","с","т","у","ф","х","ц","ч","ш","ъ","ы","ь","э","ю","я"],
["ギリシャ","Α","Β","Γ","Δ","Ε","Ζ","Η","Θ","Ι","Κ","Λ","Μ",
"Ν","Ξ","Ο","Π","Ρ","Σ","Τ","Υ","Φ","Χ","Ψ","Ω",
"α","β","γ","δ","ε","ζ","η","θ","ι","κ","λ","μ",
"ν","ξ","ο","π","ρ","σ","τ","υ","φ","χ","ψ","ω"],
["その他","工","∃","Π","¬","匚","","⊥","亠","丗","廿","‖",
"±","≒","≠","≡","〓","Ξ","¶","†","‡","Å","∠","","∇","从","乂","冫",
"丿","彳","々","儿","几","匕","√","厂","巛","彡","〆","丶","ヾ","ヽ","ゞ","ゝ",
"⌒","゙","\"","゛","°","′","″","∵","∴","∂","δ","∬","∫","§","∞","∽",
"∝","♂","♀","∈","∋","⊆","⊇","≦","≧"],
["複数行","モナー","ギコ"]
];
var y=new Array();
for(i=0;i<x.length-1;i++) y[i]=x[i];
y[x.length-1]=[
"",
"  ∧_∧\n ( ´∀`)\n (    )\n | | |\n (__)_)",
"        ∧ ∧\n  〜′ ̄ ̄( ゚Д゚)\n   UU ̄ ̄ U U" ];
v=[ ["プレビュー(<u>P</u>)","セーブ(<u>S</u>)","クリア(<u>C</u>)",
"バックアップを開く","セーブしたAAを開く"] ];
k=[ ["p","","","s","c","u","r"],
["","","",""] ];
c=[ ["giko();","zonu.value=sii.value;sii.focus()",
"onigiri.value=sii.value;sii.value='';sii.focus()",
"sii.value=onigiri.value;sii.focus()",
"sii.value=zonu.value;sii.focus()"] ];
/*
233名無しさん@お腹いっぱい。:03/10/27 01:05 ID:jYIRsEYv
*/
with(document){
write('<form id="morara" onsubmit="return false;">');
for(i=0;i<v.length;i++){
for(j=0;j<v[i].length;j++)
write('<button onclick="'+c[i][j]+'" accesskey="'+k[i][j]+'">'+v[i][j]+'</button>');
write("<br>");
}
for(i=0;i<x.length;i++){
write(t+'<option value="">'+x[i][0]+'</option>');
for(j=1;j<x[i].length;j++)
write('<option value="'+y[i][j]+'">'+x[i][j]+'</option>');
write('</select>');
}
write('<br> コマンド(<u>C</u>) <input type=text size=50 accesskey="c" id="cmd" onkeypress="if(event.keyCode==13)eval(this.value);">');
write('<input type=button value="実行" onclick="eval(cmd.value);">');
}}

function resizetxt(n){ //031027
if(document.getElementById){var dlg=document.getElementById("sii");}
else {if(document.all)var dlg=document.all("sii");}
if(dlg){
var num, cnt=1;
if(n.indexOf("\r")>-1)num="\r";
if(n.indexOf("\n")>-1)num="\n";
if(!num&&dlg.cols>1)dlg.cols="1";
else {
for(i=0;i<document.all.sii.value.length;i++){
if(n.charAt(i)==num)cnt++;}
dlg.rows=++cnt;
} } }

//--></script>
<style type="text/css"><!--
.main { background-color: #EFEFEF; font-size: 12pt; width: 94%; border: 0px; }
.sub { background-color: #FFFFFF; height: 200px; width: 49%;
border: 1px solid #666666; overflow: scroll; }
textarea { font-family: "MS Pゴシック",Mona; }
--></style><title>AA Prewiewer</title></head>
<body bgcolor=#EFEFEF>
<form name="all" onSubmit="return false;">
<font size=+1 color=red>AA Prewiewer</font>
<dl><dt>1 :<font color=green><b>名無しさん@お腹いっぱい。</b></font> :
<script type="text/javascript" language="javascript"><!--
document.write(mona()); //--></script>
<dd><textarea id="sii" class=main onkeypress="resizetxt(this.value)">AA Previewer</textarea></dl>
<script type="text/javascript" language="javascript"><!--// >>139-141
fwrite(); //--></script><br>
<textarea name="onigiri" class="sub"></textarea><textarea name="zonu" class="sub"></textarea>
</form></body></html>
234名無しさん@お腹いっぱい。:03/10/27 01:06 ID:jYIRsEYv
貼り間違いがあるかもしれんなヽ(;´ー`)ノ
235名無しさん@お腹いっぱい。:03/10/27 11:28 ID:f0zeV6JS
「名無しさん@お腹いっぱい」をクリックすると左下の欄に移動するって
説明が欲しいな。
2回クリックしたら一気に無くなって危険だった。Undoで復帰したけど。
236 :03/10/27 15:47 ID:YTTf55+r
>>235
「名無しさん@お腹いっぱい」を「クリック@移動」とか書き換えれば?
2371:03/10/27 22:17 ID:2BTtXQNB
>774 ◆x/rO98BbgY
アップローダは無理ですか。
でも、うpできるような環境をどうにか作らないと、そのうちここに貼るのが辛くなると思います。
Yahooブリーフケースを使おうかとも考えていますが、パスワードをここで公開しても
偶然紛れ込んできた厨房にデータ改竄されてパスワード変えられるのがオチでしょうし。

それと>>220-226のうp乙〜。
どちらかと言えば>>220-226はIE依存ではなくどちらでも使えるという位置づけのつもりだったんですが、まあどうでもいいか。

Operaで使えませんでしたか?なんでだろう。オペラ持ってないので確認できません。
IE非依存のほうは標準の仕様に合わせているつもりなのに・・・

>>232-234
わー、すごいです。Mozillaではテキストサイズは固定だと思っていたのに
見事にびろーんです。ありがとうございます(誰か、ありがとうございます以外の表現教えて〜(ちょっと本気))

>>235
ちゃんとした説明書きみたいなのが必要かも。とりあえず作ってみます。

>>236
やっぱりそういうテキストの方が分かりやすいですか。
238218:03/10/27 22:22 ID:2jpGPoGh
ソース残ってたから上げてみた
単なるテスター ttp://kaze-gum.hp.infoseek.co.jp
テンプレチックなやつ ttp://kaze-gum.hp.infoseek.co.jp/aamk/

もう、だいぶこっちもソース増殖が進んでて
参考になんないかもしんないけど。俺のもスパゲティだし。
一部、shtmlになってっけど鯖バナー消すためにそうしてるだけでつ
239名無しさん@お腹いっぱい。:03/10/28 00:51 ID:5dCZte3D
>>237
レンタル掲示板のうpろだ機能でいいのならいくらでもあるが。
こことか → http://www2.ezbbs.net/

(ていうか、なぜスレ立てる前に自分の簡易HP作ってそこに公開しなかったのかと(ry )

2401:03/10/28 02:11 ID:BKFD0NZU
とりあえずヘルプできたよー
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><head><title>AA Previewer ヘルプ</title><!-- 031028 -->
<meta name="Author" content=">>1">
<style TYPE="text/css"><!--
a.contents { text-decoration:none;color:black;}
--></style></head><body>
<h1>AA Previewer ヘルプ</h1>
<h2>目次</h2>
<ul>
<li><a href="#user" class="contents">ユーザのためのドキュメント</a>
<ul>
<li><a href="#about_aap" class="contents">AA Previewerとは</a>
<li><a href="#how_to" class="contents">AAPの使い方</a>
<li><a href="#command" class="contents">コマンドバーについて</a>
<li><a href="#faq" class="contents">よくある質問</a>
</ul>
<li><a href="#developer" class="contents">デベロッパのためのドキュメント</a>
<ul>
<li><a href="#func" class="contents">関数一覧</a>
<li><a href="#bugs" class="contents">まだ解決されていない課題</a>
</ul>
</ul>
<br>
<h2><a name="user">ユーザのためのドキュメント</a></h2>
<h3><a name="about_aap">AA Previewerとは</a></h3>
AA Previewer(以下AAP)とは、2ch AAサロン板の<a href="http://aa2.2ch.net/test/read.cgi/aasaloon/1062921475/">
HTMLで AA Previewerを作っちゃいました</a>というスレから生まれたHTML形式のAAエディタ(と呼ぶにはまだ早い?)です。<br>
ダウンロードは<a href="http://aa2.2ch.net/test/read.cgi/aasaloon/1062921475/">上のスレ</a>
からだと最新のが手に入りますが、774 ◆x/rO98BbgY氏の<a href="http://web-box.jp/aapreviewer/">まとめサイト</a>にあるのをダウンロードするのをお薦めします。<br>
<a href="http://web-box.jp/aapreviewer/">まとめサイト</a>にはダウンロードしなくても使えるファイルもありますので、使ったことがない人は一度使ってみてはいかがですか。<br>
まだまだ他のエディタに比べたら不便な点も多々ありますが、ちょっとしたAAの改造なら十分にできます。<br>
HTMLなので当然オープンソースで、また、HTMLが使える方ならカスタマイズも簡単にできます<br>
<h3><a name="how_to">AAPの使い方</a></h3>
基本的にメインテキストエリアにAAを書いたりコピペしたり改造したりするだけです。<br><br>
画面の構成<br><br>
1 :<font color=green><b>名無しさん@お腹いっぱい。</b></font>: 03/10/27 02:30<br>
┌────────────┐<br>
│  メインテキストエリア    │<br>
└────────────┘<br>
   操作ボタン・テンプレ等<br>
┌─────┐┌─────┐<br>
│バックアップ││  セーブ  │<br>
└─────┘└─────┘<br><br>
メインテキストエリア:メインとなる作業スペースです。<br>
バックアップ:バックアップされた内容が保存されています<br>
セーブ:セーブした内容が保存されています<br><br>
<!--
2411:03/10/28 02:12 ID:BKFD0NZU
-->
操作ボタン・テンプレ等の使い方<br>
 ボタン:
  プレビュー:メインテキストエリアの内容をプレビューし、バックアップをその内容に変更します。<br>
  コピー:メインテキストエリアの内容をクリップボードにコピーします。IE非依存版にはありません。<br>
  貼り付け:メインテキストエリアにクリップボードの内容を貼り付けます。IE非依存版にはありません。<br>
  セーブ:現在のメインテキストエリアの内容をセーブエリアに保存します。このときセーブエリアにすでにあった内容は破棄されます。<br>
  クリア:メインテキストエリアの内容を消去します。消去前の内容はバックアップに保存されます。<br>
  Undo:前の動作を取り消します。IE非依存版にはありません。<br>
  Redo:Undoを取り消します。IE非依存版にはありません。<br>
  バックアップを開く:バックアップエリアの内容をメインテキストに読み込みます。このときメインテキストの内容は破棄されます。<br>
  バックアップをコピー:バックアップエリアの内容をクリップボードにコピーします。IE非依存版にはありません。<br>
  セーブしたAAを開く:セーブエリアの内容をメインテキストに読み込みます。読み込み前のメインテキストの内容は破棄されます。<br>
  セーブしたAAをコピー:セーブエリアの内容をクリップボードにコピーします。IE非依存版にはありません。<br>
 テンプレ:選択した文字をメインテキストに追加します。<br>
 コマンド:コマンドバーに書き込んだjavascriptを実行します。詳しくは<a href="#command" class="contents">コマンドバーについて</a>で説明します<br><br>
ショートカットキーについて<br>
今のところ、仮のショートカットキーがあって、Alt+Pでプレビュー、Alt+Sでセーブ、Alt+UでUndo、Alt+RでRedoです。<br>
コマンドとクリアは>>1のミスでどっちもAlt+Cになっているので、あまり使えません。
<!--
2421:03/10/28 02:13 ID:BKFD0NZU
-->
<h3><a name="command">コマンドバーについて</a></h3>
コマンドバーにjavascriptを入力するとそのスクリプトを実行することができます。<br>
これは主にボタンにするまでもない機能をコマンドにしてしまうことを目的に作りましたが、他にも色々使い道があります。<br>
例えば、メインテキストエリアの"あああ"という文字を"いいい"に変えたい場合、<br>
IE依存版なら sii.innerText=sii.innerText.replace(/あああ/g,"いいい");<br>
IE非依存版なら sii.value=sii.value.replace(/あああ/g,"いいい");<br>
と入力すればできる(はず(汗))です。<br>
他にもAAとは関係ないけど alert(6*6*3.14);<br>
みたいに計算にも使えます(^^;<br>
本来の使い方のボタンにするまでもない機能としてはファイルサイズを計算するfilesize関数<br>
使い方はIE依存版ならalert(filesize(sii.innerText)); IE非依存版ならalert(filesize(sii.value));<br>
やユニコード文字を加工するuniconv関数 IE依存版ならuniconv(sii.innerText); 非依存版ならuniconv(sii.innerText);があります。<br>
<h3><a name="faq">よくある質問</a></h3>
Q1:本当によくある質問なの?<br>
A1:いいえ。<a href="http://aa2.2ch.net/test/read.cgi/aasaloon/1062921475/">AAPスレ</a>で実際に一度あった質問とありそうな質問をまとめただけです。<br><br>
Q2:IE依存版・非依存版って何よ?<br>
A2:Internet Explorer(IE)にはさまざまな独自拡張があって、それにより規格通りのHTMLやjavascriptよりも高機能なことができます。<br>
  そこで、IEの独自拡張を利用したもの(IEでしか動かない)をIE依存版、たいていのブラウザで使えるものをIE非依存版と呼んでいます。<br>
  当然IEでも非依存版は動きますが、性能は依存版の方が高いのでIEを使うなら依存版を使うことをお薦めします。<br>
  また、外部JSという方法でブラウザによって依存版・非依存版を使い分けるタイプのものもあります。<br><br>
Q3:PreviewerではなくPrewiewerとなってるのは仕様ですか?<br>
A3:私(>>1)のタイプミスです。2カ所くらい同じミスをしているという奇跡的に間抜けなtypoだし、プレビューだけじゃなくなってきたので、<br>
  Prewiewerでもいいやと開き直っていましたが、Previewerに直していただいたものもあります。<br><br>
Q4:バックアップとセーブの違いがよく分かりません<br>
A4:バックアップは自動で内容が変更されますが、セーブはセーブボタンを押さなければ変更されることは無いはずです。<br><br>
Q5:なんで>>1はありがとうございますばっかりなんだ!!<br>
A5:語彙不足だからです。HTML勉強する前に日本語を勉強しろと自分でもたまに思いますw<br><br>
Q6:表示されない、動かない、バグった、何か変<br>
A6:<a href="http://aa2.2ch.net/test/read.cgi/aasaloon/1062921475/">AAPスレ</a>に報告してください。<br>
  ブラウザの名前とバージョン、どこがおかしいか、(何かをしたときにバグったなら)そのときした動作を書き込んでください。<br>
  ついでに、もう一度同じことをしてやはり同じ症状になるか、他のブラウザでやるとどうかまで報告してくれたらものすごく助かります。<br><br>
Q7:ここをこうしてほしい、この方がいいと思う<br>
A7:<a href="http://aa2.2ch.net/test/read.cgi/aasaloon/1062921475/">AAPスレ</a>で私たちに教えてください。もしかしたら実現できるかもしれません。<br><br>
Q8:ここには載っていない質問がある<br>
A8:<a href="http://aa2.2ch.net/test/read.cgi/aasaloon/1062921475/">AAPスレ</a>で質問してください。<br><br>
Q9:AAP作りに協力したい、AAPのためにできることは?<br>
A9:HTMLやjavascriptができる方はできれば書く側にまわってくれたら嬉しいです。<br>
  そういうのは苦手な人も意見やショートカットキーやボタン配置の案、つけてほしい機能等を書いてくれると嬉しいです。<br>
<!--
2431:03/10/28 02:13 ID:BKFD0NZU
<h2><a name="developer">デベロッパのためのドキュメント</a></h2>
<h3><a name="func">関数一覧</a></h3>
今のところ、関数は次のようになっていますが、すぐに増えたり変わったりすると思います。<br>
ifie(_ifie,_elseie) //aaprev.jsのみ<br>
 ブラウザがIEならば_ifieを、それ以外なら_elseieを返す<br>
hwrite() //aaprev.jsのみ<br>
 ブラウザがIEならばIE用のJSファイル、CSSファイルを、それ以外ならそれ用のJSファイル、CSSファイルを参照するタグを挿入する<br>
mona() //IE依存版、非依存版共通<br>
 名前欄の横に日時を表示する<br>
allReplace(str,bef,aft) //IE依存版、非依存版共通<br>
 文字列strに含まれている文字列befを全て文字列aftに置換する<br>
 ただし(>>1のミスで)allReplace(s,"x","axa");のようにaft内にbefが含まれていると無限ループになる<br>
giko() //IE依存と非依存で内容が違う<br>
 onigiriにsiiを保存してプレビューする<br>
hikky(hiroyuki) //IE依存版のみ<br>
 hiroyukiをクリップボードにコピーする<br>
paste() //IE依存版のみ<br>
 onigiriにsiiを保存してクリップボード内のテキストをsiiに貼り付ける<br>
sel(t) //IE依存と非依存で内容が違う<br>
 選んだテンプレをsiiに追加する<br>
fwrite() //IE依存と非依存で内容が違う<br>
 フォーム部分のタグを書く。今ではほとんどのタグをfwriteが書いている<br>
filesize(n) //IE依存版、非依存版共通<br>
 コマンドバー用関数。nのサイズを返す<br>
uniconv(n) //IE依存版、非依存版共通<br>
 コマンドバー用関数。nのユニコード文字を加工する<br>
<h3><a name="bugs">まだ解決されていない課題</a></h3>
特に重要な課題<br>
  半角スペースの可視化<br><br>
次に重要な課題<br>
  ドット合わせテンプレ<br>
  文字参照ができるテンプレ<br>
  テンプレをカーソル位置に挿入<br>
  ファイルの保存・呼び出し<br>
  半角スペースの入力抑止<br>
  ボタン配置、ショートカットキー等のユーザインターフェース<br>
  ハイパーリンクの自動付加<br>
できれば解決したい課題<br>
  矩形コピー・切り・貼り<br>
  グリッドの表示<br>
  トレース<br>
  手書きトレス<br>
  バーヤトラップ<br>
  自動ハーフトーン<br>
  行末空白削除<br>
  自動枠囲<br>
  右側を自動的にならす機能<br>
  擬似レイヤ
</body></html>
2441:03/10/28 02:50 ID:BKFD0NZU
>>238
なんかすげー。バイト数とライン数まで出るんだ〜

>>239
そこ、うpろだあるんですか?見あたらない、、鬱
自分の簡易ページは、まさかここまですごいことになるとは思わなかったので作りませんでした。

http://49.dip.jp/~up/up/upload.php
こんなうpろだ見つけたけどどうよ?
試しにヘルプをうpしてみた
http://49.dip.jp/~up/up/img/49up086.zip
245774 ◆x/rO98BbgY :03/10/28 15:15 ID:b+yGa6ac
HelpとMozilla版をうpしますた。
トレース機能とかは背景を変えれるようにすればできるかも
246名無しさん@お腹いっぱい。:03/10/29 02:55 ID:WfOwl/oC
>>243
>allReplace(str,bef,aft) //IE依存版、非依存版共通<br>
> 文字列strに含まれている文字列befを全て文字列aftに置換する<br>
> ただし(>>1のミスで)allReplace(s,"x","axa");のようにaft内にbefが含まれていると無限ループになる<br>

>>130で既出なんだが、allReplace()って

str = allReplace(str, '<', '&lt;');
str = allReplace(str, '>', '&gt;');
str = allReplace(str, '\n', '<br>');

この部分でしか使われて無いよね?

str = str.replace(/</g, '&lt;');
str = str.replace(/>/g, '&lt;');
str = str.replace(/\n/g, '<br>');

これで無限ループが解決すると思うんだがどうかな。
/〜/で囲めばそれだけで正規表現を表すから簡単だし。

正規表現に関しては気合で。
http://user.ecc.u-tokyo.ac.jp/~t10521/ecmascript/tutorial/RegExp.html
247名無しさん@お腹いっぱい。:03/10/29 02:57 ID:WfOwl/oC
あ、>>246一箇所だけ間違い
str = str.replace(/>/g, '&lt;');

str = str.replace(/>/g, '&gt;');
248且⊂(゚∀゚*)ウマー:03/10/30 19:41 ID:l2ndvSIR
  ∧_∧
 ( ´∀`)<スキーしたモナ
 (    )
 ││ |/ 
⊂ /⊂/  
テスト!!すごいや。
ちょいと改造して見ますww
249且⊂(゚∀゚*)ウマー:03/10/30 19:51 ID:l2ndvSIR
出来たよ〜
<!-- 左端から終了までコピペしてください -->
<html><head><title>AA Prewiewer</title>
<!-- 2003/9/24 WinIE -->
<script type="text/javascript"><!--
function mona(){
var year,month,date,hour,minute;

//時間を受け取る
minute = new Date();
year = minute.getFullYear();
month = minute.getMonth();
date = minute.getDate();
hour = minute.getHours();
minute = minute.getMinutes();

//受け取った時間を修正
year %= 100;
month += 1;
if(year < 10) year = '0' + year;
if(month < 10) month = '0' + month;
if(date < 10) date = '0' + date;
if(hour < 10) hour = '0' + hour;
if(minute < 10) minute = '0' + minute;

document.all.omaemona.innerText = year + '/' + month + '/' + date + ' ' + hour + ':' + minute;

}
function giko(){
var str = morara.sii.value;
mona();

morara.sii.value = str;
morara.onigiri.value = str;

//innerHTMLに対応させる
//山カッコを特殊文字に置換
str = allReplace(str,'<','<');
str = allReplace(str,'>','>');
//改行を<br>タグに置換
str = allReplace(str,'\n','<br>');

document.all.itteyosi.innerHTML = str;
}
function hikky(hiroyuki){
var a=document.body.createTextRange();a.moveToElementText(hiroyuki);a.execCommand("Copy");
}
/* 次へ続く
*/
250且⊂(゚∀゚*)ウマー:03/10/30 19:52 ID:l2ndvSIR
function allReplace(str,bef,aft){
while(str.indexOf(bef) + 1)
str = str.replace(bef,aft);
return str;
}
function paste(){
var clp=clipboardData.getData('Text');
if(clp!=null){
morara.onigiri.value=morara.sii.value;
morara.sii.value=clp;
}
}
//--></script></head><body bgcolor=#efefef onload="mona();">
<font size=+1 color=red>AA Prewiewer</font>

<dl><dt>1 :<span onclick="giko();"><font color=green><b>名無しさん@お腹いっぱい。</b></font></span> :<span id="omaemona"> </span>
<dd><span id="itteyosi">
AA Previewer<br>
■ モナー板は、Windows+IE、フォント「MS Pゴシック 中(12ポイント)」(IE標準)<br>
   の状態で、最適表示になります(ズレのないAAが見られます)。<br>
<br>
   ※右のAAのズレない環境が標準です。 |     |\|/ |     |   |<br>
                            | ∧ ∧  |/⌒ヽ、| ∧_∧ | ∧∧ |<br>
                            |(,,゚Д゚)||,,゚ Θ゚)|(; ´Д`)|(=゚ω゚)|<br>
(9月7日13:30分現在のモナー板のローカルルールより)<br>
<br>
テキストエリアの構成:<br>
┌────────────┐<br>
│  メインテキストエリア    │<br>
└────────────┘<br>
┌─────┐┌─────┐<br>
│バックアップ││  セーブ  │<br>
└─────┘└─────┘<br>
メインテキストエリア:メインとなる作業スペースです<br>
バックアップ:バックアップされた内容が保存されています<br>
セーブ:セーブした内容が保存されています<br>
<br>
ボタンの使い方:<br>
プレビュー:メインテキストエリアの内容をプレビューし、バックアップをその内容に変更します<br>
コピー:メインテキストエリアの内容をクリップボードにコピーします<br>
貼り付け:メインテキストエリアにクリップボードの内容を貼り付けます<br>
バックアップを開く:バックアップエリアの内容をメインテキストに読み込みます。このときメインテキストの内容は破棄されます<br>
バックアップをコピー:バックアップエリアの内容をクリップボードにコピーします<br>
セーブしたAAを開く:セーブエリアの内容をメインテキストに読み込みます。読み込み前のメインテキストの内容は破棄されます<br>
セーブしたAAをコピー:セーブエリアの内容をクリップボードにコピーします<br>
セーブ:現在のメインテキストエリアの内容をセーブエリアに保存します。このときセーブエリアにすでにあった内容は破棄されます<br>
クリア:メインテキストエリアの内容を消去します。消去前の内容はバックアップに保存されます<br>
<br>
<!-- まだまだ続く
-->
251且⊂(゚∀゚*)ウマー:03/10/30 19:53 ID:l2ndvSIR
その他:<br>
プレビューボタンをクリックする代わりに名前欄をクリックしても同じことが起こります<br>
プレビューのされ方はブラウザの設定に依存します。AAがズレる環境ではうまくプレビューできません<br>
この画面をもう一度表示したいときはリロードしてください<br>
IE 6でのみ動作確認しています<br>
非営利目的ならご自由に使っていただいてかまいません(こんなもん金にならんだろうが)<br>
改造等もご自由にどうぞ。いいのが出来たら公開してください<br>
もしこれを使って何かがあっても全て自己責任でお願いします<br>
<br>
</span>
</dl>
<form id="morara">
<input type=button value="プレビュー" onclick="giko();">
<input type=button value="コピー" onclick="hikky(morara.sii);morara.sii.focus();">
<input type=button value="貼り付け" onclick="paste();morara.sii.focus();">
<input type=button value="バックアップを開く" onclick="morara.sii.value=morara.onigiri.value;morara.sii.focus();">
<input type=button value="バックアップをコピー" onclick="hikky(morara.onigiri);morara.sii.focus();">
<input type=button value="セーブしたAAを開く" onclick="morara.sii.value=morara.zonu.value;morara.sii.focus();">
<input type=button value="セーブしたAAをコピー" onclick="hikky(morara.zonu);morara.sii.focus();">
<input type=button value="セーブ" onclick="morara.zonu.value=morara.sii.value;morara.sii.focus();">
<input type=button value="クリア" onclick="morara.onigiri.value=morara.sii.value;morara.sii.value='';morara.sii.focus();">
<br>

<select onchange="morara.sii.value += options[this.selectedIndex].value;selectedIndex=0;morara.sii.focus();">
<option value="">モナギコ</option>
<option value="∧">∧</option>
<option value="∀">∀</option>
<option value="´">´</option>
<option value="`">`</option>
<option value="⊂">⊂</option>
<option value="⊃">⊃</option>
<option value="∩">∩</option>
<option value="∪">∪</option>
<option value="│">│</option>
</select>
<!-- もっと続く
-->
252且⊂(゚∀゚*)ウマー:03/10/30 19:54 ID:l2ndvSIR
<select onchange="morara.sii.value += options[this.selectedIndex].value;selectedIndex=0;morara.sii.focus();">
<option value="">罫線</option>
<option value="━">━</option>
<option value="┃">┃</option>
<option value="┏">┏</option>
<option value="┓">┓</option>
<option value="┛">┛</option>
<option value="┗">┗</option>
<option value="┣">┣</option>
<option value="┳">┳</option>
<option value="┫">┫</option>
<option value="┻">┻</option>
<option value="╋">╋</option>
<option value="─">─</option>
<option value="│">│</option>
<option value="┌">┌</option>
<option value="┐">┐</option>
<option value="┘">┘</option>
<option value="└">└</option>
<option value="├">├</option>
<option value="┬">┬</option>
<option value="┤">┤</option>
<option value="┴">┴</option>
<option value="┼">┼</option>
<option value="┠">┠</option>
<option value="┯">┯</option>
<option value="┨">┨</option>
<option value="┷">┷</option>
<option value="┿">┿</option>
<option value="┝">┝</option>
<option value="┰">┰</option>
<option value="┥">┥</option>
<option value="┸">┸</option>
<option value="╂">╂</option>
<option value=" ̄"> ̄</option>
<option value="―">―</option>
</select>
<!-- まだ続きます。制限されないかそろそろ心配
-->
253且⊂(゚∀゚*)ウマー:03/10/30 19:55 ID:l2ndvSIR
<select onchange="morara.sii.value += options[this.selectedIndex].value;selectedIndex=0;morara.sii.focus();">
<option value="">ロシア</option>
<option value="А">А</option>
<option value="Б">Б</option>
<option value="В">В</option>
<option value="Г">Г</option>
<option value="Д">Д</option>
<option value="Е">Е</option>
<option value="Ё">Ё</option>
<option value="Ж">Ж</option>
<option value="З">З</option>
<option value="И">И</option>
<option value="Й">Й</option>
<option value="К">К</option>
<option value="Л">Л</option>
<option value="М">М</option>
<option value="Н">Н</option>
<option value="О">О</option>
<option value="П">П</option>
<option value="Р">Р</option>
<option value="С">С</option>
<option value="Т">Т</option>
<option value="У">У</option>
<option value="Ф">Ф</option>
<option value="Х">Х</option>
<option value="Ц">Ц</option>
<option value="Ч">Ч</option>
<option value="Ш">Ш</option>
<option value="Щ">Щ</option>
<option value="Ъ">Ъ</option>
<option value="Ы">Ы</option>
<option value="Ь">Ь</option>
<option value="Э">Э</option>
<option value="Ю">Ю</option>
<option value="Я">Я</option>
<!-- まだまだー
-->
254且⊂(゚∀゚*)ウマー:03/10/30 19:55 ID:l2ndvSIR
<option value="а">а</option>
<option value="б">б</option>
<option value="в">в</option>
<option value="г">г</option>
<option value="д">д</option>
<option value="е">е</option>
<option value="ё">ё</option>
<option value="ж">ж</option>
<option value="з">з</option>
<option value="и">и</option>
<option value="й">й</option>
<option value="к">к</option>
<option value="л">л</option>
<option value="м">м</option>
<option value="н">н</option>
<option value="о">о</option>
<option value="п">п</option>
<option value="р">р</option>
<option value="с">с</option>
<option value="т">т</option>
<option value="у">у</option>
<option value="ф">ф</option>
<option value="х">х</option>
<option value="ц">ц</option>
<option value="ч">ч</option>
<option value="ш">ш</option>
<option value="щ">щ</option>
<option value="ъ">ъ</option>
<option value="ы">ы</option>
<option value="ь">ь</option>
<option value="э">э</option>
<option value="ю">ю</option>
<option value="я">я</option>
</select>
<!-- もうちょっと
-->
255且⊂(゚∀゚*)ウマー:03/10/30 19:56 ID:l2ndvSIR
<select onchange="morara.sii.value += options[this.selectedIndex].value;selectedIndex=0;morara.sii.focus();">
<option value="">ギリシャ</option>
<option value="Α">Α</option>
<option value="Β">Β</option>
<option value="Γ">Γ</option>
<option value="Δ">Δ</option>
<option value="Ε">Ε</option>
<option value="Ζ">Ζ</option>
<option value="Η">Η</option>
<option value="Θ">Θ</option>
<option value="Ι">Ι</option>
<option value="Κ">Κ</option>
<option value="Λ">Λ</option>
<option value="Μ">Μ</option>
<option value="Ν">Ν</option>
<option value="Ξ">Ξ</option>
<option value="Ο">Ο</option>
<option value="Π">Π</option>
<option value="Ρ">Ρ</option>
<option value="Σ">Σ</option>
<option value="Τ">Τ</option><option value="Υ">Υ</option><option value="Φ">Φ</option>
<option value="Χ">Χ</option>
<option value="Ψ">Ψ</option>
<option value="Ω">Ω</option>
<option value="α">α</option>
<option value="β">β</option>
<option value="γ">γ</option>
<option value="δ">δ</option>
<option value="ε">ε</option>
<option value="ζ">ζ</option>
<option value="η">η</option>
<option value="θ">θ</option>
<option value="ι">ι</option>
<option value="κ">κ</option>
<option value="λ">λ</option>
<option value="μ">μ</option>
<option value="ν">ν</option>
<option value="ξ">ξ</option>
<option value="ο">ο</option>
<option value="π">π</option>
<option value="ρ">ρ</option>
<option value="σ">σ</option>
<option value="τ">τ</option>
<option value="υ">υ</option>
<option value="φ">φ</option>
<option value="χ">χ</option>
<option value="ψ">ψ</option>
<option value="ω">ω</option>
</select>
<select onchange="morara.sii.value += options[this.selectedIndex].value;selectedIndex=0;morara.sii.focus();">
<option value="">ショートカット</option>
<option value="∧_∧">モナ耳</option>
<option value="( ´∀`)">モナ顔</option>
<option value="( ・∀・)">モラ顔</option>
<option value="( ゚∀゚)">アヒャ顔</option>
</select>
<br>
<!--ショートカット系、追加あったらドゾ。
-->
256且⊂(゚∀゚*)ウマー:03/10/30 19:57 ID:l2ndvSIR
<textarea id="sii" cols=130 rows=30 wrap=off>
</textarea><br>
<textarea id="onigiri" cols=63 rows=15 wrap=off>
</textarea>
<textarea id="zonu" cols=63 rows=15 wrap=off>
</textarea>
</form></body></html>
<!-- 終わり。右端までコピペしてください -->
2571:03/10/30 23:55 ID:yyBT18UV
>>245
乙〜。いつもご苦労さんです。
>>246
ご指摘の通り、正規表現の方が楽ですし、そっちを使った方がいいです。
ただ、消すのがめんどくさいので残っていて、残っているのでヘルプに書いただけ。
(ヘルプにそのことを追加しておいた方がいいかな?)
>>248-256
うわ、懐かしー。そういえば最初はこんな感じだったな。
古いやつの改造もいいですが、新しいのも改造してくださいね。
(新しいのはhttp://web-box.jp/aapreviewer/にあります
2581:03/11/01 23:52 ID:yRBU9hYP
外部JS,CSSのIE非依存のところに>>232-234を加えてみました。
IE非依存のくせにIEでしかテストしていないというお粗末な物ですが。

aap.cssを次のに変更

.main { background-color: #EFEFEF; font-size: 12pt; width: 94%; border: 0px; }
.sub { background-color: #FFFFFF; height: 200px; width: 49%;
border: 1px solid #666666; overflow: scroll; }
textarea { font-family: "MS Pゴシック",Mona; }

aap.jsのfwrite()を変更とresizetxtを追加

function fwrite(){
var t='<select onchange="sel(this);resizetxt(sii.value);">';
var x=[

/* テンプレ省略 */

];
var y=new Array();
for(i=0;i<x.length-1;i++) y[i]=x[i];
y[x.length-1]=[
"",
"  ∧_∧\n ( ´∀`)\n (    )\n | | |\n (__)_)",
"        ∧ ∧ \n  〜′ ̄ ̄( ゚Д゚)\n   UU ̄ ̄ U U"
];
v=[
["プレビュー(<u>P</u>)","セーブ(<u>S</u>)","クリア(<u>C</u>)","バックアップを開く","セーブしたAAを開く"]
];
c=[
["giko();","zonu.value=sii.value;sii.focus();","onigiri.value=sii.value;sii.value='';sii.focus();resizetxt(sii.value);",
"sii.value=onigiri.value;sii.focus();","sii.value=onigiri.value;sii.focus();"]
];
k=[
["p","s","c","",""]
];
/*
2591:03/11/01 23:53 ID:yRBU9hYP
*/
with(document){
write('<dd><textarea id="sii" class=main wrap=off onkeypress="resizetxt(this.value);"></textarea></dl>');
for(i=0;i<v.length;i++){
for(j=0;j<v[i].length;j++)
write('<button onclick="'+c[i][j]+'" accesskey="'+k[i][j]+'">'+v[i][j]+'</button>');
write("<br>");
}
for(i=0;i<x.length;i++){
write(t+'<option value="">'+x[i][0]+'</option>');
for(j=1;j<x[i].length;j++)
write('<option value="'+y[i][j]+'">'+x[i][j]+'</option>');
write('</select>');
}
write('<br> コマンド(<u>C</u>) <input type=text size=30 accesskey="c" name="cmd" onkeypress="if(event.keyCode==13)eval(this.value)">');
write('<br><textarea id="onigiri" class="sub"></textarea><textarea id="zonu" class="sub"></textarea></form>');
}
}

function resizetxt(n){ //>>232-234
if(document.getElementById){var dlg=document.getElementById("sii");}
else {if(document.all)var dlg=document.all("sii");}
if(dlg){
var num, cnt=1;
if(n.indexOf("\r")>-1)num="\r";
if(n.indexOf("\n")>-1)num="\n";
if(!num&&dlg.cols>1)dlg.cols="1";
else {
for(i=0;i<document.all.sii.value.length;i++){
if(n.charAt(i)==num)cnt++;}
dlg.rows=++cnt;
} } }

おわり
2601:03/11/02 01:34 ID:M+uCNcRL
遊びでショボいアニメができるコマンドつくってみました。
IE用ですが、sii.innerTextをsii.valueに変えたら他のブラウザでも使えると思います(たぶん)
function movie(){
var str;
str = sii.innerText.split("$$mov");
for(i=1;i<str.length;i++) alert(""+str[i]);
}

使用方法はメインテキストに
$$mov
1枚目
$$mov
2枚目

のようにAAを貼って、コマンドバーに
movie();
とタイプ

例えば、下のをコピペしてみて。
$$mov

       ∧ ∧
      (・∀・)っ
      (っ ,r どどど・・・
 .      i_ノ┘
$$mov
       ∧_∧
    ⊂( ・∀・ )
.     ヽ ⊂ )
     (⌒) |どどどどど・・・・・
        三 `J
$$mov
       ∧_∧
     ( ・∀・ )つ
     ( つ /
     | (⌒)どどどど・・・・
.       し' 三
2611:03/11/02 23:54 ID:M+uCNcRL
ページ作りました。
http://www.geocities.co.jp/SiliconValley-PaloAlto/4004/aap/index.html
広告、ほんま邪魔
262名無しさん@お腹いっぱい。:03/11/06 23:47 ID:5kNp5Nsz
1さん、いつも乙ですヽ(´ー`)ノ
もっと手軽に本体修正できるように、
本体の設計を変える毎日ですよんヽ(´ー`)ノ
263名無しさん@お腹いっぱい。:03/11/07 00:19 ID:fd8jyvax
>>262さんも乙です〜
いいのができたらここにアップしてくださいね。
2641:03/11/07 00:20 ID:fd8jyvax

今の書き込み、名前欄消えてた?
265名無しさん@お腹いっぱい。:03/11/07 03:26 ID:RI9ZK18Z
>>1
>スクリプトとジオガイドとの相性がよくない

えーと、どんな感じで?
手元で広告挿入場所をいじってみたけど
不具合らしきものは特に見当たらないよ。
2661:03/11/08 00:58 ID:RhDW3U4Q
>>265
あー、それですか。
giko()にある<body>に広告が入ってしまうみたいです。
2671:03/11/08 01:31 ID:RhDW3U4Q
追加や削除がしにくかったテンプレ部分をちょっと改造。
うわー、なんか暗号みたい。

function fwrite(){ // >>176-177
var t="<select onchange='sel(this);'>";
var xx=0,yy=new Array(),yyy=0;
x=new Array();
x[xx++]=new Array("モナー","  ∧_∧"," ( ´∀`)"," (    )"," | | |"," (__)_)");
x[xx++]=new Array("ギコ","        ∧ ∧ ","  〜′ ̄ ̄( ゚Д゚)","   UU ̄ ̄ U U");


x[yy[yyy++]=xx++]=new Array("複数行","モナー","ギコ");
x[yy[yyy++]=xx++]=new Array("テスト","hoge","piyo");

y=new Array();
yyy=0;
for(i=0;i<x.length;i++) y[i]=x[i];
y[yy[yyy++]]=new Array("","  ∧_∧<br> ( ´∀`)<br> (    )<br> | | |<br> (__)_)",
"        ∧ ∧ <br>  〜′ ̄ ̄( ゚Д゚)<br>   UU ̄ ̄ U U");
y[yy[yyy++]]=new Array("","補下<br>hoge","ぴよpiyo");

/* 以下 v=new Array();に続く */

適当な解説
新しいテンプレを作るとき、
ロシアや罫線のように選択時の記号と実際に表示する記号が一緒なら
x[xx++]=new Array("テンプレの名前","テンプレ1","テンプレ2");
のようにして、
複数行のように選択時の記号と実際に表示する記号が違うなら
x[yy[yyy++]=xx++]=new Array("テンプレの名前","選択1","選択2");
でfor(i=0;i<x.length;i++) y[i]=x[i];のあとに
先に作ったテンプレから順に
y[yy[yyy++]]=new Array("","補下<br>hoge","ぴよpiyo");
とします。
削除はそのまま消すだけ。
数字を気にせず追加したり削除したりできるので便利かも。
268名無しさん@お腹いっぱい。:03/11/08 03:25 ID:tZ2qL4et
>>266
なるほどね。
writeln("</head><body bgcolor=#EFEFEF>");

writeln("</head><b" + "ody bgcolor=#EFEFEF>");
とするか、

<head><script>〜giko()〜</script></head><body></body>
というページ構造を
<head></head><body><script>〜giko()〜</script></body>
とすればいいんじゃないかな。

配列の件で>>201-202の案は却下?
269名無しさん@お腹いっぱい。:03/11/08 05:07 ID:GCh1Koqs
>>261
通りすがりですが、metaタグでコード指定した方がいいかと・・・
思いっきり、西ヨーロッパ言語を指定されましたので・・・
2701:03/11/08 11:22 ID:RhDW3U4Q
>>268
ジオガイドの件、了解しました。とりあえずそういう風に変更しておきます。
配列の件はyがまだ1つしか使われてないからいいけど、
いっぱい使われたり、複数行の後に他のテンプレを置きたいなら数字で管理することになるので
こっちのほうがいいかなと。今のテンプレのままだったら>>201-202のほうがいいと思います。

>>269
それはまずい。変えておきます。

あと、今気づいたんですが、ソース置き場にあるソース、
全部txt形式のはずなのにHTMLとして表示されてしまうみたいです。
ローカルで開いたらちゃんとtxtになってるのに。
当方IE6。
もし誰が開いてもHTMLになるなら広告が付いてないとか言われると困るんで、
情報お願いします。
271名無しさん@お腹いっぱい。
IEはサーバからのContent-Type無視して
ソースから勝手に内容を決め打ちしたりするブラウザでもあるわけで。
zipとかにまとめるしかないんじゃね?