2013-01-21 3 views
0

북마크 코딩이 처음인데 일반 자바 스크립트가 브라우저에서 제대로 작동하지만 북마크릿 버전에서는 문제가 발생했습니다.크롬에서 작동하지 않는 간단한 북마크릿

이미지를 찾고 BB 코드로 바꾼 북마크릿을 발견했지만 jQuery가로드되고 항상 그 일을하고 싶지 않았습니다. 그래서 나는 기본적으로 그냥 그것의 필요성을 제거하려고했지만 지금은 북마크릿으로 더 이상 작동하지 않습니다.

javascript:document.body.appendChild(document.createElement('script')).src='http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js';var%20pictureurl=jQuery('img[id$=%22myImage%22]').attr('src');var%20linkurl=document.location.href;alert('%5BURL='+linkurl+'%5D%5BIMG%5D'+pictureurl+'%5B%2FIMG%5D%5B%2FURL%5D'); 
일반 JS 코드로 작동

내 자바 스크립트는 다음과 같습니다 : 내가 자바 스크립트를 추가 할 때

// Create array variables 
var imgs = []; 

// Put all of the documents tags in to the arrays 
imgs = document.getElementsByTagName('img'); 

var pictureurl = ''; 
var linkurl = document.location.href; 

for(var i = 0; i < imgs.length; i++){ 
    var str = imgs[i].getAttribute('id'); 
    var find = str.search("myImage"); 
    if(find != -1){ 
     pictureurl = imgs[i].getAttribute('src'); 
     alert('[URL=' + linkurl + '][IMG]' + pictureurl + '[/IMG][/URL]'); 
    } 
} 

: 그리고 최소화 된 코드를 추가 내가이 작업을 얻을 수

원래 북마크이 있었다 아무리 노력해도. 누구든지 내가이 일을하는 데 큰 도움이 될 수 있다면, 감사합니다.

답변

2

예, 코드에 오류가 있습니다. 북마크가 될 것 같은) 당신의 JS 코드에서

  1. 스트립 라인 코멘트 (//)을, 나는 어떻게 자신을 발견보다는 그렇게 여기입니다 마이크로 자습서를 어디로 단지 말을하는 방법을 보여 드리고자합니다 한 줄에. 당신은 코드와 끝까지해야합니다

    var imgs = []; 
    imgs = document.getElementsByTagName('img'); 
    var pictureurl = ''; 
    var linkurl = document.location.href; 
    for(var i = 0; i < imgs.length; i++){ 
        var str = imgs[i].getAttribute('id'); 
        var find = str.search("myImage"); 
        if(find != -1){ 
         pictureurl = imgs[i].getAttribute('src'); 
         alert('[URL=' + linkurl + '][IMG]' + pictureurl + '[/IMG][/URL]'); 
        } 
    } 
    
  2. 코드에서 새로운 라인 문자를 제거하고 크롬 내용이 자바 스크립트 코드임을 알 수 있도록 javascript: 프로토콜을 사용하여 코드를 접두사.

    javascript: var imgs = []; imgs = document.getElementsByTagName('img'); var pictureurl = ''; var linkurl = document.location.href; for(var i = 0; i < imgs.length; i++){  var str = imgs[i].getAttribute('id');  var find = str.search("myImage");  if(find != -1){   pictureurl = imgs[i].getAttribute('src');   alert('[URL=' + linkurl + '][IMG]' + pictureurl + '[/IMG][/URL]');  } } 
    
  3. 북마크로 북마크를 생성하고 접근 (즉 눈에 ​​보이는 어떤 크롬 창을 클릭 할 수 있습니다) 확인 : 코드는 다음과 같아야한다.

  4. 북마크릿 코드를 테스트 할 페이지로 이동하십시오. CTRL + SHIFT에게 + I을 길게
  5. 열기 개발자 도구.
  6. 콘솔 탭으로 전환하십시오.
  7. 북마크릿을 클릭하십시오.
  8. 북 마트의 코드를 실행하는 동안 발행 된 오류/경고가 콘솔에 표시됩니다.
  9. 는 코드의 경우, 뱉어 : serach()ID 속성의 값을 포함 str의 값에 호출하지만, 때문에 합리적인 것 같다

    Uncaught TypeError: Cannot call method 'search' of null (program):1 
    (anonymous function) 
    

    이 모든 IMG 태그 할당 된 id 있습니다.
    창의 오른쪽에있는 (program):1을 클릭하고 코드를 디버깅하고 변수를 검사 할 수 있습니다.

+0

글쎄 나는 단계를 시도했지만 콘솔에 오류가 표시되지 않았고 페이지 오류가 있었고 7이라고 말하면서 풍선을 확장 할 수는 없습니다. – zeddex

+0

@zeddex "Bubble"? 예를 들어 페이지 오류로 인해 페이지 오류가 나타날 수 있습니다. 로드에 실패한 리소스 (잘못된 URL이있는 이미지 등) 스크린 샷을 게시 할 수 있습니까? 어떤 Chrome 버전을 사용하고 있습니까? – andr

+0

분명히 버전 22.0.1229.94 m – zeddex