ユーザーに新しいメッセージを思い出させるために Web ページのタイトルを使用することは非常に一般的であり、たとえば、Weibo や一部のメールボックスでは、この機能が非常に一般的です。この機能を実装するにはどうすればよいでしょうか?
そのアイデアは、ajax を介してバックグラウンドにアクセスし、新しいニュースがある場合は、Web ページのタイトルをプロンプト情報に置き換え、スペースを前後に切り替えます。例:[新しいニュースがあります]と[ ]を切り替えます。プロンプトの内容は動的であるため、置換テキストのスペースの数も計算されます。ここでは全角スペースを使用してください。ただし、プロンプトメッセージに「数字」などの半角文字が含まれる場合、問題が発生します。全角のスペースは、半角の 1 よりもはるかに幅が広くなります。この場合、点滅すると見苦しくなりますので、全角文字を全角スペースに、半角文字を半角スペースに置き換えることで解決します。
ただし、document.title=' '; 半角スペースがいくつあっても、ブラウザには 1 つしか表示されません。使用した場合はそのまま出力され、var t=document.getElementsByTagName('title')[0] のみが使用できます。タイトル dom オブジェクトを取得し、 t.innerHTML=' ' を通じて変更します。
でも、そんなにスムーズにいくでしょうか? もちろんそうではありません。私たちの素敵なieは、この時期になるといつもトラブルを引き起こします。 IE ブラウザでは、タイトルの innerHTML は読み取り専用です (タイトルだけでなく、COL、COLGROUP、FRAMESET、HTML、STYLE、TABLE、TBODY、TFOOT、THEAD、TR などの他の innerHTML 属性も読み取り専用です) )。割り当てが強制されると、「不明な実行時エラー」が発生します。現時点では、特別な処理のために try{}catch(e){} を追加することしかできません。
ソース コードを共有します: