ウェブ開発で遭遇した問題と経験

ウェブ開発で遭遇した問題と経験
<br />以下は開発中に遭遇した問題と、そこから得た経験です。デバッグに時間がかかりましたが、他の人が回り道をしなくて済むようにここに投稿します。
1. XMLファイルは可能な限りUTF-8でエンコードする必要があります。GB2312の一部の文字は保存できません。たとえば?保存できたとしても変換する必要があり、面倒です。UTF-8は国際標準にも準拠しています。
2. CSS では、:hover 疑似クラスは :visited の前に配置されると無効になります。
3. <a> タグに href 属性がない場合、:hover などのすべての CSS 疑似クラスは無効になります。

4. js ファイルでは、参照は document.wirte("<script language='javascript' src='" file "'></" "script>" の形式になり、ファイルの相対パスは js を参照する HTML のパスになります。
たとえば、a.htm が x\b.js を参照し、b.js が x\c.js を参照している場合、ファイルは b.js を基準とした直接パス c.js ではなく x\c.js である必要があります。ただし、この問題は CSS の @import および url() 参照には発生しません。5. ページでは、テーブルの幅が 100% に設定され、スクロール バーの右側に空白が残ることがあります。<body style="overflow:auto"> を設定してください。
6. よく使用される画像には、img タグを使用しないでください。<span><a> を使用し、CSS を使用して背景と幅と高さを指定します。動的な画像 (移動時に背景が変化するもの) の場合は、<a> を使用するのが最適です。追加のコードは必要ありません。疑似クラス :hover を使用するだけです。CSS を使用する利点は、すべての変更を一度に行うことができることです。これは、スキンを変更するアプリケーションでうまく使用できます。
7. @font-face {font-family:comic;src:url(http://valid_url/some_font_file.eot);}
ローカルで利用できないフォント名を定義し、<span style="font-family:comic;font-size:18pt>aa</span> を呼び出します。
8. CSSの一部
div { オーバーフロー: 非表示; テキストオーバーフロー: 省略記号; }
td { 垂直位置揃え : 中央; }
オーバーフローを強制的に発生させて省略記号の値を適用するには、作成者はオブジェクトの空白プロパティを nowrap に設定する必要があります。
改行の機会がない場合(たとえば、オブジェクト コンテナーの幅が狭く、適切な改行のない長いテキストがある場合)は、nowrap を適用しなくてもオーバーフローが発生する可能性があります。
省略記号の値を適用するには、このプロパティを非表示領域を持つオブジェクトに設定する必要があります。最善のオプションは、overflow プロパティを hidden に設定することです。
9. Firefox の document.createElement は、コンテンツ内の HTML タグをサポートしていません。また、innerText もサポートしていませんが、innerHTML はサポートしており、innerHTML を使用してそのコンテンツを指定できます。
10. .net コントロールの DropDownList の幅は Firefox では色付けされないので、style='width:10px;' を直接定義する必要があります。
11. Firefox の CSS カーソルはハンドをサポートしていないため、代わりにポインターを使用します。

12. iframe 内のスクロール バーは、iframe タグで style='overflow:hidden' を設定する必要があります。body のみに設定することはできません。そうしないと、Firefox で問題が発生します。
13. onpropertychange イベントでは、event.propertyName を使用してプロパティ変更イベントをフィルタリングすることに注意してください。このイベントを設定すると、onpropertychange プロパティが実際に変更されているため、自動的に 1 回実行されます。
14. js5.6 でサポートされる XSL のバージョンは比較的低く、ドキュメント機能はサポートされていません。

15. スライス関数は、配列のフラグメントを取得するために直接ループするよりも遅くなります。
16. nextSibling が次のオブジェクトを取得する場合、2 つのノード間にスペースがあってはならないことに注意することが重要です。そうしないと、正しいオブジェクトを取得できない可能性が高くなります。
17. CreateTextFile に中国語が含まれている場合、3 番目のパラメータを true に指定する必要があります。そうしないと、中国語を書き込むことができず、Write が呼び出されたときにエラーが発生します。
18. FSO は utf-8 形式をサポートしていないため、中国語のテキストを保存するときは fso ではなく ADODB.stream を使用します。

<<:  複数の条件を持つ MySQL クエリ メソッド

>>:  WeChatミニプログラムが星評価を実装

推薦する

divとtableの選択と組み合わせ方について簡単に説明します

ページレイアウトは、Web ページを扱い始めた頃からずっと気にかけていたことです。初期のテーブル構造...

Vue+element+springboot でファイルダウンロードの進行状況バー表示機能を実装する例

目次1. 需要背景2. 最適化計画3. 具体的な実施3.1 フロントエンドコード3.2 背景コード4...

phpstudy から Linux への MySQL の移行に関するチュートリアル

プロジェクトの目的元のWindows環境でphpstudyを使用して構築されたMySQL 5.5.5...

WeChatアプレット実装アンカー位置決め機能の例

序文小規模なプログラムの開発では、リストをスクロールして表示する必要性に遭遇することがよくあります。...

HTML の iframe と frame の違いを例を使って説明します

プロジェクトで frameset 属性を使用したことがあるかどうかはわかりません。昨年、オンライン ...

MySQLの大規模テーブル最適化ソリューションについての簡単な説明

背景Alibaba Cloud RDS for MySQL(MySQL バージョン 5.7)データベ...

Vue2とVue3の兄弟コンポーネント通信バスの違いと使い方

目次vue2.x vue3.x tiny-emitterプラグインの使用Mittプラグインの使用vu...

IISMonitor を使用して Web ページを監視し、IIS を自動的に再起動します。

目次1. ツールの紹介2. ワークフロー3. 操作インターフェースとパラメータ設定(1)監視と再起動...

HTML タグ dl dt dd 使用方法

基本構造:コードをコピーコードは次のとおりです。 <ダウンロード> <dt>...

Linux ターミナルでドメイン IP アドレスを見つけるコマンド (5 つの方法)

このチュートリアルでは、Linux ターミナルでドメイン名またはコンピューター名の IP アドレスを...

JS のあらゆる場所で絶対等価演算子の使用をやめる

目次概要1. NULL値のテスト2. ユーザー入力を読み取る導入事実の根源はどこにあるのでしょうか?...

Vue3はCSSの無限シームレススクロール効果を実装します

この記事では、CSS無限シームレススクロール効果を実現するためのvue3の具体的なコードを参考までに...

CSSトランジションは高さを変更することで要素を拡大したり縮小したりします。

一般的な開発ニーズとして、要素の一部を必要になるまで折りたたんでおきたいことが挙げられます。 Boo...

js SMS認証コード入力ボックスを手動で実装する

序文この記事では、私が手動で実装したフロントエンドの一般的な SMS 認証コード入力コンポーネントと...

ウェブデザインにおけるポップアップウィンドウとフローティングレイヤーのデザイン

従来のソフトウェアから Web ウェアへの段階的な移行の傾向の中で、デザイン パターンとテクノロジは...