2010-03-26 4 views
1

내가 호스팅하는 자바 스크립트 파일에 대한 참조를 포함하는 HTML 스 니펫을 클라이언트에 제공 할 수 있습니까? 그들은이 HTML을 CMS에 붙여 넣기 때문에 페이지가로드 될 때 콘텐츠가로드됩니다.클라이언트가 다른 도메인에서 호스팅되는 My JavaScript에 링크 할 수 있습니까?

나는이 문제를 방지하기 위해 도메인 간 보안이 있다는 인상하에있었습니다.

어떤 경우는, 대신에 자바 스크립트에 연결, 나는 내가 그들에게

<div> 
    $.get(/*url to my content*/); 
</div> 

을 준 그들에게 자바 스크립트가 이미

그래서 대신

<div> 
    <!-- link to js --> 
</div> 

을 포함하여 HTML의 조각을했다 그게 효과가 있니?

+0

"콘텐츠로드"라고 할 때이 콘텐츠는 자바 스크립트입니까, 아니면 더 있습니까? – spender

답변

1

당신은 AJAX 호출 (그것이 script 태그를 사용하는 등 내부적으로 만 GET 요청과 함께 작동) 크로스 도메인을 시뮬레이션 할 수 JSONP을 사용할 수

$.getJSON("http://api.flickr.com/services/feeds/photos_public.gne?tags=cat&tagmode=any&format=json&jsoncallback=?", 
    function(data) { 
     $.each(data.items, function(i,item) { 
      $("<img/>").attr("src", item.media.m).appendTo("#images"); 
      if (i == 3) return false; 
     }); 
    } 
); 
1

호스트하는 자바 스크립트 파일에 대한 참조가 포함 된 HTML 스 니펫을 클라이언트에 제공 할 수 있습니까?

예. script 요소의 src에는 원점 제한이 없습니다.

$.get(/*url to my content*/);

XMLHttpRequests를 여전히 같은 기원 제한이 있습니까. XHR은 스크립트가 아닌 페이지의 도메인에서만 가져올 수 있습니다.

0

를 다른 도메인에서 자바 스크립트 파일을 참조하면 아무 문제가 없다. 이것은 크로스 사이트 스크립팅이 아니며 단순히 크로스 사이트 HTTP 요청 일뿐입니다. 이것은 많이 사용됩니다. 구글의 자바 스크립트 API 로더.

1

HTML <script> 태그는 동일한 출처 정책이 면제되므로 클라이언트가 JavaScript 파일에 <script> 태그로 링크하면 아무런 문제가 없습니다. (Source)

+0

@Daniel, 고맙지 만 여기에 무슨 뜻인지 확실하지 않습니다. 클라이언트가

관련 문제