2013-08-21 3 views
0

북마크/즐겨 찾기 단축키 (.url 개 파일)를 만드는 프로그램을 작성했습니다. 몇 가지 북마크 파일을 검토했는데 그 중 일부는 괜찮습니다 (그림 1). 그러나 그 중 일부는 다른 아이콘 (그림 2)으로 표시되고이를 열려고하면 오류 메시지가 나타납니다 (그림 3) .일부 .URL 북마크 파일이 깨졌습니다.

텍스트 편집기를 사용하여 파일을 검사하고 실제로 해당 북마크 데이터가 포함되어 있는지 확인했습니다. 브라우저에서 폴더로 직접 바로 가기를 드래그하여 몇 가지 테스트 북마크를 생성하고이를 내 프로그램에서 만든 파일과 비교하여 비트 북적으로 동일하게 비교했습니다.

나는 모두 을 사용하여을 사용 하겠지만, 이제는 더 이상 작동하지 않는 것으로 보입니다. 무슨 일이야? 어떻게 해결할 수 있습니까?



그림 1 : 생성 된 북마크 파일 중 일부가 좋은

Screenshot of folder with good generated bookmarks


그림 2 : 지금 깨진 생성 된 북마크 파일의 무리 (?)

Screenshot of folders with broken generated bookmarks


그림 3 : 대화 상자는 북마크가 없습니다

Screenshot of Invalid Shortcut Target error message

답변

0

그것은이 때문에 캐시의 일어나고있는 것으로 나타났다는 않더라도 잘못된 목표를 가지고 있다고 주장한다. Windows 탐색기는 파일 (특히 책갈피가 포함 된 바로 가기와 같은 작은 "시스템"파일)을 캐시합니다. 문제는 파일을 조기에 캐시 할 수 있기 때문에 파일이 유효하지 않거나 (예 : 개발 중에) 파일이 쓰기 (‽)되기 전에 캐시되는 경우 탐색기는 캐시가 지워질 때까지 계속 사용합니다. 분명히 캐시를 지우는 한 가지 방법은 캐시를 지우는 것입니다.하지만 그렇게하는 유일한 방법은 재부팅하는 것입니다 (로그 아웃 한 후 다시 로그인하는 것). 물론 이것은 이상적이지 않습니다. 특히 개발의 한가운데있는 경우 특히 그렇습니다.

A knowledge-base article은 Internet Explorer 7이 설치된 Windows XP, Vista 및 Server 2003에 적용되며 핫픽스가 있음을 나타내지 만 핫픽스가 출시 된 Windows 7 (IE9 포함)에서도 발생합니다 2011 년 10 월, Windows 7이 출시 된 지 오래됨).

이 문제를 해결하는 가장 쉬운 방법은 책갈피 파일 또는 포함 폴더의 이름을 바꾸는 것입니다. 어느 쪽이든, Explorer는 그것을 "새로운"파일로보고 캐시를 무시합니다.

일반적인 우려 사항은 프로그램을 실행할 때마다 단순히 파일이나 폴더의 이름을 바꿀 수는 없다는 것입니다 (가능한 것은 좋지만 이상적은 아닙니다). 따라서 Windows가 잘못된 파일을 캐시하는 문제를 해결해야합니다. 다음은이 일에 대한 몇 가지 도움말입니다 :

  • 는 빈 .url의 생성과 그 내용을 쓰는 사이의 시간의 양을 줄일 수 있습니다.예를 들어, 파일을 열거 나 생성 한 다음 내용을 문자열로 작성하고 파일에 쓰는 대신 파일을 여는 전에 내용을 구성하는 것을 고려하십시오 (간단하고 작음).. 그런 다음 내용을 덤프하고 닫습니다. 이렇게하면 Windows가 파일을 알아 채기 전에 이미 해당 내용을 갖게됩니다.

  • 파일 인코딩이 유니 코드, BOM 등이 아닌지 확인하십시오. 유니 코드 문자가 URL에서 허용되므로, .url 파일은 ASCII 전용이 아니며 일부 UTF-8 문자를 포함 할 수 있습니다. 와이드 문자가되지 않습니다.

  • 줄 끝이 CR+LF인지 확인하십시오. 파일에 쓸 때 간단하게 \n을 추가하기는 쉽지만 Windows와 브라우저처럼 \r\n을 사용해야합니다.

  • 파일에 잘못된 문자가 포함되지 않았는지 확인하십시오. 일반적으로 가능하면 안되지만 일어날 수 있습니다.

또한 북마크를 열려고하면 당연히 일반 지구본 아이콘이 생기고 오류가 발생합니다. ed2k://… 경우 같은 javascript:alert('Woot!');

  • P2P 프로토콜처럼 chrome://version
  • 북마클릿처럼

    • 크롬 내부 페이지 :이 북마크를 통해 열 수 시스템에 설정되지 않은 다른 프로토콜에 링크를 모든 북마크 마찬가지입니다 프로토콜이 시스템에 등록되지 않았습니다.
  • 관련 문제