2012-12-06 7 views
2

createElement()에 의해 생성 된 링크를 오버라이드하여 윈도우 상태를 변경하고 싶지만 작동하지 않는 것 같습니다 (Chrome에서 시도 중입니다).onMouseover by createElement()에 의해 window.status를 변경하는 방법

Google에서 색인에있는 리디렉션 된 링크를 사용하는 것처럼 보일 수 있습니다. 자신의 색인에서 마우스 오버 링크를 사용하면 클릭 한 실제 링크가 아닌 창 상태에서 href를 볼 수 있습니다 (google 리디렉션). 따라서, 브라우저는 보안상의 이유로이 차단 말해, 나는이 following

function createLink(id) 
{ 
    var link = document.createElement('a'); 
    link.onmouseover = function(){window.status='test';}; 
    link.href = 'http://www.google.com'; 
    link.id = '1'; 
    link.rel = 'nofollow'; 
    link.style.cssText ='border-bottom:2px solid;'; 
    link.target = '_blank'; 
    link.innerHTML = 'Link'; 
    id.appendChild(link); 
} 

myElement=document.getElementById('id_text'); 
createLink(myElement); 

시도했습니다 나

:-) 그것을 할 수 있도록하지만 윈도우 상태 만 표시하지 마십시오 href 값.

답변

2

Google은 매우 정교한 기법을 사용합니다. 메인 마우스 버튼을 누르면 링크가 변경됩니다 (onmousedown). 매우 쉽게 확인할 수 있습니다. 링크 위로 마우스를 가져간 다음 기본 마우스 버튼을 누릅니다. 링크가 변경됩니다.

이러한 결과를 달성하기 위해 당신이 예상 한 사용자가 아닌 다른 페이지로 리디렉션 무례하고 때로는 악의적 인 행동으로 식별 될 수

function createLink(id) 
{ 
    var link = document.createElement('a'); 
    /// vvvvvvvvvvv 
    link.onmousedown = function(){this.href = 'http://www.example.com';}; 
    /// ^^^^^^^^^^^ 
    link.href = 'http://www.google.com'; 
    link.id = '1'; 
    link.rel = 'nofollow'; 
    link.style.cssText ='border-bottom:2px solid;'; 
    link.target = '_blank'; 
    link.innerHTML = 'Link'; 
    id.appendChild(link); 
} 

myElement=document.getElementById('id_text'); 
createLink(myElement); 

주를 사용해야합니다.

+0

니스, 고맙습니다 :-) – Valky

+0

표시되는 URL을 단순화하는 것입니다 ... 사용자를 속일 수 없습니다. – Valky

3

브라우저의 상태가 변경되는 것을 차단합니다. 브라우저 설정에서 사용자가 활성화해야합니다. 이 보안 문제 때문에 그것은 불가능 dom.disable_window_status_change

에 대한 설정의 모양을

크롬이 약의 깃발을 가지고있다.

Google에서 잘못 생각한다고해서 링크를보세요!

rwt

<a href="http://staplesadvantage.com/" class="l" onmousedown="return rwt(this,'','','','14','AFQjCNER8Nv_Zhb-txDtR-b9O09SVzuTpQ','Ab3MA_Y5pbwgWlo68Wp1kA','0CI8BEBYwDQ','','',event)">Business Solutions | <em>Staples</em> Advantage</a> 
은 링크를 잡는다 클릭을 취소하고 재 지정을하지 않습니다!

+1

죄송합니다. 내 질문에 답하지 않고 http://www.google.com을보고 창 상태를 확인하십시오 ^^ – Valky

+0

@Valky google.com에서 무엇을 찾으십니까? – vcsjones

+2

자신의 색인에서 마우스 오버 링크를하면 클릭 한 실제 링크가 아닌 창 상태에 href가 표시됩니다 (Google 리디렉션) – Valky