문제

다음 코드는 IE8, Safari 4.0.2에서 작동하지만 Firefox 3.5.5에서 빈 페이지를 생성합니다. 아이디어가 있습니까?

<html>
 <head>
  <link rel="stylesheet" type="text/css" href="http://archive.dojotoolkit.org/nightly/dojotoolkit/dijit/themes/tundra/tundra.css">
</head>
<body class="tundra">
 <div style="width: 350px; height: 300px">
  <div id="tc1-prog">
 </div>
</div>
</body>

 <script type="text/javascript" src="http://archive.dojotoolkit.org/nightly/dojotoolkit/dojo/dojo.js"
  djConfig="parseOnLoad: true">;
  </script>
  <script type="text/javascript">
    dojo.require("dijit.layout.TabContainer");
    dojo.require("dijit.layout.ContentPane");

 dojo.addOnLoad(function() {
        var tc = new dijit.layout.TabContainer({
                style: "height: 100%; width:100%;"
        },
        "tc1-prog");

        var cp1 = new dijit.layout.ContentPane({
        title: "Food",
        content: "We offer amazing food"
    });
    tc.addChild(cp1);

    var cp2 = new dijit.layout.ContentPane({
        title: "Drinks",
        content: "We are known for our drinks."
    });
    tc.addChild(cp2);

    tc.startup();
});
</script>
</html>
도움이 되었습니까?

해결책

아마도 도메인 교차 문제 일 것입니다. 야간 빌드는 테스트를 위해 게시되었지만 실제로 로컬로 사용하려면 Tarball을 다운로드해야합니다. 그렇지 않으면 브라우저의 도메인 보안 모델을 깨는 XHR+Eval을 사용하여 개별 모듈을로드하도록 참조됩니다.

다른 선택은 Dojo의 "Cross Domain"빌드를 사용하는 것입니다. Dojo는 당신이하고 싶었던 것과 배포하기가 매우 간단합니다. 스크립트 태그와 함께 가리키십시오. 그것이 Google CDN에서 사용할 수있는 것입니다.

다른 팁

스크립트 태그를 바디 태그 안에 넣을 수 있습니다. 유효한 HTML이 되려면 몸체 또는 헤드 태그에 있어야합니다. 잘못된 문서는 확실히 브라우저간에 일관되게 작동하지 않을 수 있습니다.

업데이트: 또한 야간 빌드 대신 프로덕션 빌드를 사용해 볼 수도 있습니다. 사용하도록 URL을 변경했습니다 http://ajax.googleapis.com/ajax/libs/dojo/1.3/dojo/dojo.xd.js 그리고 그것은 FF에서 나를 위해 잘 작동했습니다. 야간 빌드로 깨졌습니다.

로부터 HTML 4.01 사양:

HTML 4 문서는 세 부분으로 구성됩니다.

HTML 버전 정보가 포함 된 라인,
선언적 헤더 섹션 (헤드 요소에 의해 구분),
문서의 실제 내용이 포함 된 본문. 본체는 신체 요소 또는 프레임 세트 요소에 의해 구현 될 수 있습니다.

<html>
<head>
  <link ... />
</head>
<body>
   ...
   <script ... >
   </script>
</body>
</html>
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top