Uservoice와 같은 호스팅 된 서비스는 다른 웹 사이트에 컨텐츠를 포함시키는 방법은 무엇입니까?

StackOverflow https://stackoverflow.com/questions/1428840

문제

Uservoice와 같은 호스팅 된 서비스는 다른 웹 사이트에 컨텐츠를 포함시키는 방법은 무엇입니까?

나는 그것이 당신의 페이지에 서비스 제공 업체의 JavaScript 파일을 포함시키는 것을 알지만, 내가 관심있는 것은 그런 서비스를 만들기위한 빌딩 블록입니다.

예를 들어, jquery, mootools 또는 prototypejs와 같은 라이브러리를 사용하고 네임 스페이스 충돌을 어떻게 피합니까?

또한 JavaScript 의이 특정 사용을 수행하는 책, 기사, 블로그 게시물이 있는지 궁금했습니다 (JavaScript에서 일반적인 자원을 찾지 않음).

사전에 감사하고 감사합니다.

엘리엇

도움이 되었습니까?

해결책

여기 내가 찾은 훌륭한 튜토리얼이 있습니다 웹 위젯을 구축하는 방법 (jQuery 사용)

다른 팁

일반적으로, 당신이 설명하는 것을 "JavaScript 위젯"이라고합니다 (Uservoice는 페이지 측면에 표시됩니다).

좋은 튜토리얼이 있습니다 JavaScript 위젯 생성 체크 아웃 할 수 있습니다.

이러한 임베디 가능한 서비스의 기본 구조는 다음과 같습니다.

  1. 서비스가 페이지 하단에 스크립트를 포함 해야하는 경우 기존 핸들러의 발가락을 밟지 않고 바디 온로드 이벤트를 연결해야합니다 (기존 처리기 기능을 가로 채서 차례로 묶을 수 있습니다. 다른 기능으로).
  2. 새로운 HTML 요소를 문서에 주입하십시오. HTML 코드는 단일 주입 된 요소에서 InnerHTML을 설정하는 것이 함수 호출의 플러리를 사용하여 직접 DOM 조작보다 쉽고 빠르기 때문에 문자리 리터럴로 스크립트에 인쇄 될 가능성이 높습니다.
  3. 전체 스크립트는 이름 충돌을 피하기 위해 폐쇄 내부에 살아야합니다.
  4. JS 프레임 워크가 사용되거나 사용되지 않을 수 있습니다. 프레임 워크를 포함시킬 때는 기존, 다른 프레임 워크 또는 동일한 프레임 워크의 다른 버전과 충돌 할 수 있으므로 프레임 워크를 포함시킬 때주의가 필요합니다.

EDT : 일반적으로 고객/고객/친구가 페이지에 스크립트를 포함시키고 다음을 수행 할 수있는 스크립트를 통해 다음을 수행 할 수 있습니다.

순수한 JS에서는 원격 위치 (또는 원격이 아닌)에서 스크립트를 동적으로로드 할 수 있습니다.

   var script = document.createElement('script');
   script.type = 'text/javascript';
   script.src = 'your/remote/scripts/path.js';
   document.getElementsByTagName('body')[0].appendChild(script);

// $ .getScript ( '귀하/remot/scripts/path.js'); jQuery에서는 원격 사이트에 jQuery가로드 될 것입니다.

그런 다음로드 한 스크립트는 이와 같은 요소를 만드는 것과 같은 다른 동작을 수행 할 수 있습니다.

var body = document.getElementsByTagName ( 'body') [0]; var adiv = document.createElement ( '스크립트'); / * 여기에서 divs 속성을 수정하고 look */ body.appendchild (adiv); // $ ( ''). 부록 ( 'body'); jQuery의 경우

JavaScript를 더 깊이 살펴 보려면 예를 들어 읽을 수 있습니다. JavaScript : 좋은 부분 또는 JavaScript에 대한 결정적인 안내서.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top