2012-07-19 5 views
0

분명히 서버 쪽 언어를 사용할 수 없습니다, 이건 내 바탕 화면에있는 페이지입니다. 클라이언트 쪽 로컬 컴퓨터에 포함

나는 jQuery로 AJAX를 사용했지만, 나는 다음과 같은 오류 메시지가

Sorry but there was an error: 0 [Exception... "Access to restricted URI denied" code: "1012" nsresult: "0x805303f4 (NS_ERROR_DOM_BAD_URI)" location: "https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js Line: 4"]

그것은 로컬 또는 뭔가 호스팅 있기 때문에 브라우저가 스크립트를로드하지과 관련이있다 얻을. 그렇다면 웹 서버 소프트웨어를 설치하지 않고 로컬 컴퓨터에 파일을 포함시킬 수있는 방법이 있습니까?

+3

정확히 무엇을하는지 볼 수 있도록 코드를 게시 할 수 있습니까? – Brandon

+0

AJAX는 로컬 파일을 열고 읽는 것이 아닙니다. 모든 ajax 호출은 일부 데이터를 일부 위치로 전송하고 있으며 JavaScript는 수신 측에서 처리하는 방법을 알 것이라고 가정합니다. 당신이하고있는 일은 제가 실수하지 않는다면 문으로 걸어가 '참깨 열 그대'를 외치는 것과 비슷합니다. 동화 속에서 일하지만 현실 세계에서는 게이트 키퍼가 필요합니다. –

+0

나는 잘못 생각했습니다. . @flem이 정답을 가지고 있습니다. – SomeKittens

답변

1

이것은 XSS 오류입니다. 타사 사이트 (도메인에없는 URL)에 대해 http 요청을 할 수 없습니다. 페이지를 요청할 때 프록시를 사용해야합니다 (또는 소유자가 사이트에서 XSS 요청을하도록 허용해야합니다).

0

비슷한 문제를 풀어 쓴 라이브러리의 뻔뻔한 플러그. 서버 측 include를 구현하는 로컬 HTTP 서버의 오버 헤드없이 백엔드 구현을 위해 HTML 파일을 연결할 수 있기를 원했습니다. 이 라이브러리는 HTTP 또는 로컬 파일 시스템에서 작동합니다. 하지만 저장소 README에서 알 수 있듯이 Chrome 런타임에 --allow-file-access-from-files 플래그를 사용해야합니다. 다른 브라우저는 기본적으로 작동합니다.

https://github.com/LexmarkWeb/csi.js

<div data-include="/path/to/include.html"></div> 

것은 위의 /path/to/include.html의 내용을 가지고 그것으로 div을 대체합니다.

관련 문제