2010-07-02 4 views
2

목표 : 팝업 창을 여는 원격 javascript 파일을 호출하는 북마크릿을 만들려면. 팝업 창은 Delicious의 북마크릿과 기능적으로 유사합니다.차단되지 않는 북마크릿 만들기

배경 : 현재이 자바 스크립트 파일 내에서 window.open을 사용하고 있지만 팝업은 거의 모든 주요 브라우저에서 차단됩니다.

다른 해결책은 Delicious가 북마크릿을 작성하는 방식과 매우 유사합니다. 북마크릿 자체 내에서 javacript 쿼리를 통해 window.open을 호출합니다. 그러나 사용자가 앞으로 북마크릿의 최신 버전을 계속 다운로드하지 않고도 내 자바 스크립트 파일의 다른 내용을 수정하는 기능이 필요합니다. 나는 일이있을하기로 결정했습니다 무엇

:은 window.open 전화는 사용자가 클릭의 결과로 직접 발생되지 때문에이 브라우저는이 차단되어야 뭔가 느낀다. 여기에 a source이 있습니다.

This은 가장 최근에 원격 js 파일에 대한 호출을 만들 때 참조한 자습서입니다.

다음은 내 코드에서 수행중인 기본 예제입니다. 원격의

예 자바 스크립트 파일 :

if (typeof jQuery == 'undefined') { 
    var jQ = document.createElement('script'); 
    jQ.type = 'text/javascript'; 
    jQ.onload=runthis; 
    jQ.src = 'http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js'; 
    document.body.appendChild(jQ); 
} else { 
    runthis(); 
} 

function runthis() { 
    window.open('http://www.google.com/', 'a title', 
     'location=yes,links=no,scrollbars=no,toolbar=no,width=550,height=550'); 
} 

정말 좋겠 그것이 내가 합병증의 원인이되는 느낌이 유일한 부분이기로 window.open/popup 부분은 내가 포함하고있어 유일한 중요한 부분입니다 이것이 나를 당황하게하고 있기 때문에 어떤 도움을 주셔서 감사합니다!

+1

외부의 포함 된 파일에서이 작업을 수행 할 수 있다면 왜 모든 스패머와 침입하는 광고주도 동일한 작업을 수행 할 수 없습니까? 이것이 제공 할 남용에 대해 생각한다면, 모든 브라우저에서 왜 적극적으로 차단되는지 쉽게 알 수 있습니다. –

+2

어, 이것은 북마크 렛입니다. 사용자는 그것을 적극적으로 클릭해야하며 북마클릿은 사용자 상호 작용을 만들어야합니다. – tomdemuyt

답변

0

블로킹 문제가 더 잘 보이고 단계적으로 보이는 접근 방식은 사용자가 현재보고있는 페이지에 북마크를 삽입하는 것입니다. 내가이 질문을했을 때이 접근법을 되 찾는 것을 끝내었다. 잘 했어.

관련 문제