Facebook은 브라우저 주소 표시 줄에서 페이지의 소스 URL을 어떻게 다시 작성합니까?
http://www.facebook.com/facebook?v=wall로 이동 한 다음 정보 탭을 클릭합니다. 콘텐츠가로드되고 주소 표시 줄은 이제 http://www.facebook.com/facebook?v=info가 표시 줄 페이지는 다시로드되지 않습니다.
처음에는 Ajax라고 생각하지만 제 질문은 다시로드하지 않고 주소 표시 줄을 어떻게 변경합니까? JS를 사용하여 앵커 (#wall)를 사용하여 앵커 쿼리를 사용합니까?
HTML5의 새로운 기능을 사용하여 페이지가있는 것처럼 대부분의 URL과 다른 URL에 있습니다.history.pushState()
이것은 우리의 나머지보고있는 이유입니다 만 순간에 웹킷에 의해 지원 될 것 같습니다 ?v=wall#!/facebook?v=info
대신 ?v=info
.
이 기능을 사용하면 동적으로로드 된 페이지를 JS 지원 및 JS 지원 사용자 에이전트간에 쉽게 북마크하고 교환 할 수 있습니다. JS 사용자로서 누군가를 연결 ?v=wall#!/facebook?v=info
하고 브라우저가 JS 및 XMLHttpRequest를 지원하지 않습니다. 는 #!
또한 비 AJAX 버전을 다운로드 검색 엔진에 사용됩니다.
@ Snoob- @bobince 대답을의 대신 수락했다면 감사하겠습니다 . 그는 여기에서 먼저 세부 사항에 대해 올바른 길을 가고 있습니다. 수락하지 않을 때 제거 / 제거 할 수 없습니다.
순간 그것은이다 웹킷 @로서, (등 크롬, 사파리,) 특정 일 당신이 (보고, 오히려하지 않거나)보고있는 bobince의 에서 점에서 다른 브라우저 당신이 볼 수있는
실제 바에서 URL을 :http://www.facebook.com/facebook?v=wall#!/facebook?v=info\
Chrome 만 표시되는 위치 :
http://www.facebook.com/facebook?v=info
Google 검색 엔진을 사용하여 AJAX 콘텐츠를 크롤링 할 수 있도록 만드는 방법을 통해 브라우저가 콘텐츠의 출처도 인식 약간의 의미 가 있습니다.
세부 사항에 대한 수정 : 웹킷 브라우저 (5) 역사는 특징 HTML 사용하고자하는 단축 URL의 페이스 북을 여기에 있습니다 여기에 코드를 볼 수 있습니다 (한 번 HistoryManager
봐도 거기에 사용 하고이 경우에) 당신이와 함께 갔다 URL을 교체 직접 사용할 수 있습니다..replaceState()
참고 : 이 답변은 나중에 유효하지 않을 수 있습니다 (WebKit 특정 비트). 다른 브라우저가 HTML5 기능을 점점 더 많이 지원하므로 이는 금방 구식이 될 수 있습니다.
Mootools의의 개발자 경우 해시로 대체되는 기본 히스토리 API를 지원하는 cpojer의 Mootools의-역사 플러그인을 확인하는 것이 좋습니다 .
Facebook이 없어서 확인할 수 없습니다. 그러나 나는 그것이 전체 페이지 요청 이메일 95 % 확신한다. 이 피싱 웹 사이트에 매우 유용한 기능이 될 것이기 때문에 위치 표시 줄은 쓸 수 없다. ( http://fakeonlinebank.com 대신 http : // yourtrustybank ). 브라우저가 해당하는 부분 만로드하는 것처럼 것입니다.
그러나 나는 누군가가 이것에 대해 나를 고칠 것인지 궁금합니다. 왜냐하면 그것은 당신이 듣고 싶어하는 대답을 가지고 있음을 의미하기 때문입니다.)
'ProgramingTip' 카테고리의 다른 글
Java 날짜 API (java.util.Date, .Calendar)가 왜 그렇게 엉망입니까? (0) | 2020.12.05 |
---|---|
Zend Framework에서 레이아웃 파일을 전환하는 방법은 무엇입니까? (0) | 2020.12.05 |
NSManagedObjectContext를 생성 한 단일 또는 큐가 소유하고 Apple이 말하는 것은 무엇을 의미합니까? (0) | 2020.12.05 |
일대일 최대 수용 모드 : 전체 객체를 가져 오지 않고 getId () (0) | 2020.12.04 |
SOAP 오류 또는 결과 개체? (0) | 2020.12.04 |