過去ログ表示


過去ログ 284 を表示

トピック内全 15 記事中の 11 〜 15 番目を表示
[ 最新記事及び返信フォームをトピックトップへ ]
このトピックの全ページ / [0] [1]

Re[2]: サンプルコードこちらに変更
(#44337) このトピック中11番目の投稿
(環境: Linux/Firefox3.0)

> IE7やIE8やSafariやChromeやOperaでは動作しますが
> FirefoxとNetscapeでは動作が変なんですけど? (絶対URLになる)
 ようするに "/x.htm" とかを表示してほしいんですよね?で、くどいようですが HTML の使用では
> action = uri [CT]
> この属性は、フォーム処理エージェントを指定する。HTTPスキームURI以外の値の場合のユーザエージェントの動作は、定義しない。
なので、Firefox のように URI を表示する方が、つまり file:///x.htm と表示する方が自然な気がしますが。
 つまり間違った action 属性の指定を URI に変換しているんですね。これは Firefox の仕様でしょう。

# というか action 属性の値が HTML ファイルというところが不思議。
# CGI などの URI なら理解できますが。

Re[5]: サンプルコードこちらに変更
(#44374) このトピック中12番目の投稿
(環境: Mac/Firefox3.0)

>  くどいんですが、HTML の仕様書では
>>action = uri [CT]
>> この属性は、フォーム処理エージェントを指定する。HTTPスキームURI以外の値の場合のユーザエージェントの動作は、定義しない。
> とあるので、別に Firefox の動作としてはおかしくないと思いますが。

・ その HTML の仕様書というのは、HTML 4.01 の仕様書のことですか?
例えば、その文書に HTML 4.01 の DOCTYPE 宣言があるとか、らじもさんが「HTML 4.01 で書いています」と言っているとか、そういったことがあれば HTML 4.01 の仕様書に従うことになります。が、そういったことが書かれていないので、HTML 4.01 の仕様通りの動作を期待すべきなのかどうかどうかは不明です。
(例えば、quirks mode の動作を期待すべき状況の可能性もあります。)

・ 相対 URI であっても、URI であることには変わりありません。base URI が http スキームであったならば、"/x.html" も http スキームの URI です。

> つまり document.test.action に、らじもさんが期待する値が入らなければならない理由はない、ということになりませんか?
>  例えば ”action = CDATA" なら UA はらじもさんが期待する動作をしないといけないと思いますが。

・ document.test.action に何が入るか、については HTML の仕様だけでは決まりません。DOM の仕様も関係するでしょう。

Re[6]: サンプルコードこちらに変更
(#44384) このトピック中13番目の投稿
(環境: Linux/Firefox3.0)

 すいません。なんか前提の存在しない空虚な議論をしているような気がしますので、この話題から撤退します。
済!
Re[6]: サンプルコードこちらに変更 (DOM-0の話)
(#44385) このトピック中14番目の投稿
(環境: WinXP SP3/SeaMonkey1.1)

> ・ document.test.action に何が入るか、については HTML の仕様だけでは決まりません。DOM の仕様も関係するでしょう。

この場合、DOM-0の話(DOM以前のお話)なので、明確な「仕様」はなさそうですが(^^;

<form action>や<a href>における、document.forms['name_of_a_form'].action や
document.links['name_of_a_link'].href は、昔から「action属性/href属性に指定した文字列そのもの」を意味していません。
絶対パス形式ならば、<base>の有無などをプログラムでわざわざ判定しなくてもどこに飛ぶかが一発でわかるわけですから、絶対パス形式のほうが合理的であると言えると思います。
また、file:URLでパスのデリミターに"\"を指定すると"/"に置き換わるとか(MS Win版だけのQuirksかも)、Fx3からは、javascrpt:URLで空白が"%20"にエスケープされる、などの現象も起こります。
もともと「仕様」がないので、このあたりはブラウザーによってまちまちですし、javascript:URIの%20へのエスケープのように、Fxでもバージョンによって異なります。

javascrpt:URLにおける現象は、bug-org 422609 に報告されています。
https://bugzilla.mozilla.org/show_bug.cgi?id=422609
結論としては、action属性/href属性の「文字列」が必要な場合は、document.getElementById(id).getAttribute('action'/'href')を使うべし、になります。

HTML 5では、「URL」として、location.href/protocol/host/pathnameなどのような属性をきちんと定義し、それを「DOM」の属性としてアクセスできるようにしようとしているように見えます。
DOM-0のほうも、HTML 5との整合性がとれるように、少し変える必要がでてくるかもしれませんね。

Re[7]: サンプルコードこちらに変更 (DOM-0の話:追記)
(#44389) このトピック中15番目の投稿
(環境: WinXP SP3/SeaMonkey1.1)

(追記)
location.hashにも(これもDOM-0)、理由が良くわからないFxの動きがあります。
https://bugzilla.mozilla.org/show_bug.cgi?id=378962
location.hrefやlocation.searchはエスケープしないのに、どういうわけか、location.hashだけエスケープしたものを返します。
多分、2バイト文字の<a name="...">とそのURL上での指定に関係している、一種のQuirksだと思うんですけど。
HTML 5の仕様が早いとこ固まって、DOM-0でもできるだけそれに準じた動きに変えて、不可解な動きが早く無くなるといいですね。


[ 前のトピック内容10件 ]
このトピックの全ページ / [0] [1]

返信不可


- Child Tree -