사용자에게 새 메시지를 상기시키기 위해 웹페이지 제목을 사용하는 것은 매우 일반적입니다. 예를 들어 Weibo 및 일부 사서함에서는 이 기능이 매우 일반적입니다. 이 기능을 구현하는 방법은 무엇입니까?
아이디어는 ajax를 통해 배경에 액세스하는 것입니다. 새로운 뉴스가 있으면 웹페이지 제목을 프롬프트 정보로 바꾸고 공백으로 앞뒤로 전환합니다. 예: [새로운 소식이 있습니다]와 [ ] 사이를 전환합니다. 프롬프트 내용은 동적이므로 대체 텍스트의 공백 수도 계산됩니다. 여기서는 전체 너비 공백을 사용하세요. 하지만 프롬프트 메시지에 '숫자' 등 반각 문자가 있으면 문제가 발생합니다. 전체 너비 공간은 절반 너비 1보다 훨씬 넓습니다. 이 경우 플래싱할 때 보기 불편할 수 있는데, 해결 방법은 전각 문자를 전각 공백으로 바꾸고, 반각 문자를 반각 공백으로 바꾸는 것입니다.
그러나 document.title=' '; 반각 공백이 아무리 많아도 브라우저에는 하나만 표시됩니다. 사용하는 경우 그대로 출력됩니다. var t=document.getElementsByTagName('title')[0]만 사용할 수 있습니다. 제목 DOM 개체를 가져오고 t.innerHTML=' '을 통해 수정합니다.
그런데 그렇게 순조롭게 진행될까요? 우리 사랑스러운 즉이는 항상 이럴 때 나와서 말썽을 피우곤 해요. IE 브라우저에서 제목의 innerHTML은 읽기 전용입니다(제목뿐만 아니라 COL, COLGROUP, FRAMESET, HTML, STYLE, TABLE, TBODY, TFOOT, THEAD, TR과 같은 기타 innerHTML 속성도 읽기 전용입니다). ). 강제로 할당하면 "알 수 없는 런타임 오류"가 발생합니다. 현재로서는 특별한 처리를 위해 try{}catch(e){}만 추가할 수 있는 좋은 방법을 찾지 못했습니다.
소스 코드 공유: