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

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

推薦する

JConsoler を使って Tomcat の JVM メモリを監視する方法を説明します

目次1. Tomcatを監視する方法2. Java独自の監視コマンド3. Tomcatのトラブルシュ...

JSの基本概念の詳細な紹介

目次1. JSの特徴1.1 マルチパラダイム1.2 説明1.3 シングルスレッド1.4 ノンブロッキ...

MySQL 8.0.11 Mac 用インストール ガイド

MACはmysql8.0をインストールします。具体的な内容は次のとおりです。 1. ダウンロードアド...

docker-compsoe を使用してフロントエンドとバックエンドを分離したプロジェクトをデプロイする方法

事前に言っておくDocker を使用すると非常にシンプルなデプロイメント環境を実現できることは誰もが...

計算プロパティとリスナーの詳細

目次1. 計算されたプロパティ1.1 基本的な例1.2 計算プロパティキャッシュとメソッド1.3 計...

MySQL 10進数符号なし更新負数を0に変換

今日、インターフェースの同時実行の問題を検証したところ、これまでredisで解決していた同時実行のプ...

ミニプログラムはリストのカウントダウン機能を実装します

この記事の例では、ミニプログラムでリストカウントダウンを実装するための具体的なコードを参考までに共有...

Docker コンテナでネットワーク リクエストが遅くなる問題の解決策

Docker の使用中に、いくつかの問題が発見されました。npm install や bundle ...

MySQL での IN データボリュームの使用の最適化された記録

MySQL のバージョン番号は 5.7.28 です。テーブル A には 390 万件のレコードがあり...

知らないかもしれない実用的なTypeScriptのヒント

目次序文関数のオーバーロードマッピングタイプ部分的、読み取り専用、Null 可能、必須選択、記録除外...

React antdはフォームの動的な増減を実現します

以前、動的フォームを記述しているときに落とし穴に遭遇しました。インデックスの添え字をキーとして使用す...

MySQL ロール関数の紹介

目次序文: 1. 役割の紹介2. 役割に関連する操作要約:序文:前回の記事では、MySQLの権限管理...

https ウェブサイトを展開し、Nginx でアドレス書き換えを構成するための詳細な手順

Nginx は、高性能な Web サイト サーバーおよびリバース プロキシ サーバーであり、IMAP...

React コンポーネント通信ルーティングパラメータ転送 (react-router-dom)

目次最近Reactを勉強していて、今は仕事でVueを使っています。学習の過程で、両者を比較して理解を...

CSS 3.0とビデオを組み合わせることでクリエイティブなオープニング効果を実現

CSS 3.0 とビデオを組み合わせて実現したクリエイティブなオープニングをご紹介します。効果は次の...