2011-12-27 1 views
4

이 내 현재의 북마크입니다 :Javascript 북마크 릿에서 location.href를 얻는 더 강력한 방법은 무엇입니까?

javascript:(function(){ alert(location.href); })(); 

위치를 얻을 수있는보다 강력한 방법이 .. 잘 작동하는 것 같다,하지만 나를 위해, 어떤 이유로 크롬에서 유튜브에서 작동하지 않습니다. href? 감사.

+0

이상한. YouTube는 Chrome 16에서 'about : blank'라고 표시합니다. –

+2

@Rocket 디버깅 콘솔에'alert (location.href)'를 쓰면 올바른 주소가 표시됩니다 ... – bezmax

+1

좋아, 내가 알아 낸 것 같습니다. 어떤 알려지지 않은 이유로 북마크릿의'Location' 객체는 마지막 요청으로부터의 위치를 ​​포함합니다. 그리고 덜 알려진 이유에 대해서 youtube의 검색 창은 메인 페이지가로드 된 후 (대략 개발자 콘솔의 네트워크 탭에서 볼 수 있습니다) about : blank를로드합니다. – bezmax

답변

3

번호 당신은 당신이 전역 네임 스페이스에서 일부 사용자 지정 alert 기능을 사용하지 않을 있는지 확인합니다

(function(window){window.alert(window.location.href)})(this); 

을 시도 할 수 있습니다. 그러나 처럼 덮어 쓰는 것을 막을 수는 없습니다. 브라우저의 내부 세터 방법

(windowhref 속성의 location 특성이 효과적으로 window.location 같이, 쓰기 방지 '의 의미)가 어떤 속임을 억제 이후

location 객체 페일 증거이어야 편집 :
"social engineering bookmarklet attacks"로 인해 북마크릿이 Firefox 6 이상에서 작동하지 않는 것처럼 보이며 사용자가 할 수있는 일이 없습니다.
https://stackoverflow.com/a/6643466/27862
https://bugzilla.mozilla.org/show_bug.cgi?id=527530

+0

불행합니다. – Timmy

+1

기능을 복원하는 [Firefox addon] (https://addons.mozilla.org/en-US/firefox/addon/inheritprincipal/)처럼 보입니다. – user123444555621

관련 문제