2014-03-03 3 views
0

아약스 요청의 응답을 기반으로 웹 페이지를 조작하고 싶습니다. 기본적으로 YouTube에서 페이지의 제목을 검색하고 첫 번째 YouTube를 검색합니다. 여기확장 프로그램에서 아약스 요청을 할 수 없습니다.

var search_input = $("#title").text(); 
var keyword= encodeURIComponent(search_input); 
// Youtube API 
var yt_url='http://gdata.youtube.com/feeds/api/videos?q='+keyword+'&format=5&max-results=1&v=2&alt=jsonc'; 

$.ajax 
({ 
type: "GET", 
url: yt_url, 
dataType:"jsonp", 
success: function(response) 
{ 

console.log("succeded"); 

if(response.data.items) 
{ 
$.each(response.data.items, function(i,data) 
{ 
var video_id=data.id; 
var video_title=data.title; 
var video_viewCount=data.viewCount; 
// IFRAME Embed for YouTube 
var video_frame="<iframe src='http://www.youtube.com/embed/"+video_id+"' frameborder='0' type='text/html'></iframe>"; 

var final="<div>"+video_frame+"</div><div id='count'>"+video_viewCount+" Views</div>"; 

$("#videos").html(final); // Result 

}); 
} 
else 
{ 
$("#videos").html("<div id='no'>No Video</div>"); 
} 
} 
}); 

그리고는 아약스 요청을하려고 할 때 확장이 Uncaught ReferenceError: jQuery11100021788313053548336_1393869626682 is not defined을 던졌습니다

{ 
    "content_scripts": [ 
     { 
      "matches": [ 
       "https://*.website.com/*", 
       "*://*.youtube.com/*" 
      ], 
      "js": [ 
       "jquery.js", 
       "mymanipulatır.js" 
      ] 
     } 
    ], 
    "name": "Name", 
    "icons": { 
     "128": "128x128.png" 
    }, 
    "homepage_url": "http://github.com/", 
    "version": "1.4", 
    "manifest_version": 2, 
    "developer": { 
     "name": "may" 
    }, 
    "description": "youtube" 
} 

의 manifest.json입니다. 내가 뭘 놓치고 있니?

답변

0

웹 페이지에 삽입 된 콘텐츠 스크립트에서 교차 사이트 XHR을 사용하는 경우 연결하려는 URL 패턴을 매니페스트의 '사용 권한'섹션에 선언해야합니다. 자신의 확장 기능 중 하나에서 독립 실행 형 페이지 (예 : 배경 페이지, 브라우저 작업 팝업 등)에서 XHR을 수행하고있었습니다.

참조 : https://developer.chrome.com/extensions/xhr

관련 문제