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

ウェブ開発で遭遇した問題と経験
<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ミニプログラムが星評価を実装

推薦する

Nginx を使用してフロントエンドのクロスドメイン問題を解決する方法

序文Vue アプリケーションなどの静的ページを開発する場合、クロスドメインになる可能性のあるインター...

mysqlはタイムゾーン関連の問題を解決します

序文: MySQL を使用すると、時間の表示が正しくない、タイムゾーンが GMT+8 ゾーンにない、...

重複したMySQLテーブルをマージして削除する簡単な方法

シナリオ:クロールされたデータは、別のメインテーブルと同じ構造を持つデータテーブルを生成するため、マ...

mysql スケジュールタスク (イベント イベント) の詳細な説明

1. イベントの簡単な紹介イベントは、MySQL が特定の時間に呼び出す手続き型データベース オブジ...

CSS の画像パスの問題に関する議論 (同じパッケージ/異なるパッケージ)

CSS ファイルでは、背景を使用する、つまり背景画像を追加する必要がある場合があります。これは通常、...

Linux 上でプロジェクトをリリースするために Tomcat を展開するプロセスにおけるさまざまな問題と解決策

プロジェクトをプロジェクトサイトのテスト環境にデプロイするJDK1.8トムキャット8.5 Maven...

ウェブ音楽プレーヤーを実現する js

この記事では、参考までに簡単なHTMLと音楽プレーヤーの制作コードを紹介します。具体的な内容は以下の...

IEの送信フォームの記録履歴クリックリターン情報を実現するためのCSSスタイルコントロールはまだ残っています

これは主に CSS スタイルのコントロールと META タグです。コードをコピーコードは次のとおりで...

Linux コマンドラインのワイルドカードとエスケープ文字の実装

ハードディスクのファイル属性のバッチ表示など、特定の種類のファイルに対してバッチ操作を実行する場合、...

Vue で className として空の文字列を使用することはなぜ推奨されないのですか?

目次空の文字列 '' と null を比較するケース1: 空の文字列を使用する &#...

Linux で固定 IP を設定する方法 (テスト済みで効果的)

まず、仮想マシンを開きます xshell5 を開いて仮想マシンに接続します (より便利です。Linu...

process.env.NODE_ENV 本番環境モードを設定する方法

始める前に、process.env.NODE_ENV にはデフォルトで開発と本番の 2 つの状態しか...

CSSはボックスコンテナ(div)の高さを常に100%に設定します。

序文ブラウザをどのようにズームしても、ボックス コンテナーの高さを常に 100% に保つ必要がある場...

Vue のスロットとフィルターの詳細な説明

目次スロットスロットとは何ですか?スロットの内容コンパイルスコープフォールバックコンテンツ名前付きス...