2013-02-10 5 views
2

Q : Caja 템플릿에 ExtJS 4를 추가 할 수 있습니까? 이런 일에ExtJS 4.1이 설치된 Google Apps Script

<link rel="stylesheet" type="text/css" href="http://cdn.sencha.io/ext-4.1.1a-commercial/resources/css/ext-all.css"/> 
<script type="text/javascript"> 
    document.write("\x3Cscript type='text/javascript' src='http://cdn.sencha.io/ext-4.1.1a-commercial/ext-all.js'>\x3C/script>"); 
</script> 

결과 : 다음 HTML 헤더에로드 명령을 작성할 때 예를 들어

Invalid script or HTML content: http://cdn.sencha.io/ext-4.1.1a-commercial/resources/css/ext-all.css:18+6635 - 6636: Expected <Identifier> not : http://cdn.sencha.io/ext-4.1.1a-commercial/resources/css/ext-all.css:18+6621 - 6652: Skipping malformed content http://cdn.sencha.io/ext-4.1.1a-commercial/resources/css/ext-all.css:18+6621 - 6672: Skipping malformed content http://cdn.sencha.io/ext-4.1.1a-commercial/resources/css/ext-all.css:18+82707 - 82708: Expected <Identifier> not : http://cdn.sencha.io/ext-4.1.1a-commercial/resources/css/ext-all.css:18+82677 - 82724: Skipping malformed content http://cdn.sencha.io/ext-4.1.1a-commercial/resources/css/ext-all.css:18+82677 - 82744: Skipping malformed content http://cdn.sencha.io/ext-4.1.1a-commercial/resources/css/ext-all.css:18+111019 - 111020: Expected <Identifier> not : http://cdn.sencha.io/ext-4.1.1a-commercial/resources/css/ext-all.css:18+111002 - 111036: Skipping malformed content http://cdn.sencha.io/ext-4.1.1a-commercial/resources/css/ext-all.css:18+111051 - 111052: Expected <Identifier> not : http://cdn.sencha.io/ext-4.1.1a-commercial/resources/css/ext-all.css:18+111037 - 111068: Skipping malformed content http://cdn.sencha.io/ext-4.1.1a-commercial/resources/css/ext-all.css:18+111002 - 111088: Skipping malformed content http://cdn.sencha.io/ext-4.1.1a-commercial/resources/css/ext-all.css:18+200996 - 200997: Expected <Identifier> not : http://cdn.sencha.io/ext-4.1.1a-commercial/resources/css/ext-all.css:18+200982 - 201013: Skipping malformed content http://cdn.sencha.io/ext-4.1.1a-commercial/resources/css/ext-all.css:18+200982 - 201033: Skipping malformed content http://cdn.sencha.io/ext-4.1.1a-commercial/resources/css/ext-all.css:18+217948 - 217949: Expected <Identifier> not : http://cdn.sencha.io/ext-4.1.1a-commercial/resources/css/ext-all.css:18+217931 - 217965: Skipping malformed content http://cdn.sencha.io/ext-4.1.1a-commercial/resources/css/ext-all.css:18+217931 - 217985: Skipping malformed content http://cdn.sencha.io/ext-4.1.1a-commercial/resources/css/ext-all.css:18+219058 - 219075: Not a valid uri: 'url(#default#VML)' http://cdn.sencha.io/ext-4.1.1a-commercial/resources/css/ext-all.css:18+219049 - 219075: Skipping malformed content HtmlOutput:11+132 - 12+1: Unclosed string. 

는 그냥 카하 검증-오류가 CSS에 관련된 발견하지만, Ext 객체는 생성 될 수 없지만 차이는 없습니다. 그것은 단지 jQuery와 jQueryUI가 precajoles로 사용 가능한 것 같습니다 : Google Code. jqGrid가 적어도 작동한다면 이것은 대안이 될 수도 있습니다 (그러나 ExtJS를 사용하려는 이후 환경을 조금 더 호환 가능하도록 전환하고 싶습니다).

그 대 음악가 HTML-app은 'ext-all.js를로드하지 못했습니다'라고 말합니다. 드라이브에 "로컬"라이브러리를 포함 시키려고하지 않았지만, JS의 동일한 거세가 적용될 수 있다고 생각합니다.

보안 기능을 오버라이드 (override) 할 수없는 경우

그러나 - -이 방해있어 혁신 제 3 자 스크립트를 삽입하는

보안은 일반적으로 나쁜 생각하지 않습니다.

아마도 지원되지 않는다고 가정해야합니다. 은 독점적 솔루션을 위해 남은 것이 하나도 없습니다. 그들은 나 자신의 인터넷을 구축 할 수 있습니다.

+0

스크립트/스타일 시트를 포함하는 데 사용하는 html을 게시 할 수 있습니까? –

답변

0

저는 Caja에서 일합니다. 특별히 ExtJS는 보지 못했지만, 새로운 JS 프레임 워크의 일반적인 문제는 Caja가 정확하게 구현하지 못하는 작은 기능이나 구석이 있다는 것입니다. 웹 플랫폼은 방대하며 "계속하기 전에 모든 것을 구현하십시오"라는 말은 실용적이지 못하기 때문에 사람들이 사용하기를 기대하는 기능에 우선 순위를 두어야합니다.

ExtJS를 지원하려면 file an enhancement request을 사용하는 것이 좋습니다. ExtJS의 CSS를 조사하고 Caja가 거부하고있는 부분을 확인하는 것이 도움이 될 것입니다 (예 : 오류를 미완료 버전의 줄 번호와 비교하거나 필요한 경우 거부되지 않을 때까지 부분 삭제). 필요한 기능을 추가하는 데 집중할 수 있습니다. 당신이 일을하기 위해 <script> 요소를 보내고 document.write을 기 대해서는 안


참고; 동적으로 정의 된 스크립트는 일반적으로 Google Apps Script의 현재 Caja 배포에서 사용할 수 없습니다. 대신 문자 그대로 <script> 요소를 HTML에 사용하십시오. 이것은 CSS와 관련된 오류 만보고 ExtJS 자체의 오류나 오류가없는 이유입니다. (방금 we ought to give an error message in this case을 녹음했습니다.)

+0

주요 문제는 @ 태그가있는 나침반 컴파일 된 테마라고 가정하고 Caja는 항상 최상위 프레임 워크를 제공하려고합니다. 아마도이 기능이 현실이되는 것을보고 싶은 유일한 사람은 아니지만 Caja 및 ExtJS 작업을 완전히 결합 할 수는 없습니다. Google이 특정 우선 적용을 허용하는 신뢰할 수있는 CDN을 제공 할 수 있다면 좋을 것입니다. 한편 jgGrid는 스프레드 시트가 아닌 데이터 그리드가 필요하기 때문에 실행되도록 노력할 것입니다. 설명이 이미 도움이되므로 답변을 수락합니다. –

+0

나를 위해 기본 기능이 타사 지원보다 더 중요하다는 것을 이해할 수 있습니다. 그러나 한 번 제공되는 구성 요소를 확인하십시오 : http : //www.sencha.co.kr/products/extjs/examples - 에서 볼 수 있듯이 모든 비즈니스 애플리케이션과 관련이 있습니다. –

+0

@syslogic jQuery와 같은 것을 포함하여로드하는 모든 코드가 동일한 환경에 있다는 것은 "신뢰"의 문제가 아닙니다. 우리는 브라우저가 Caja 외부에서 수행하는 것에 대한 100 % 정확한 에뮬레이션을 얻지 못했을뿐입니다. 그러나 우리는 아직 거기에 있지 않습니다. "비즈니스 응용 프로그램"은 문제가 아닙니다. 그것은 당신이 ExtJS를 요청한 첫 번째 사람 (나는 들었습니다) 일뿐입니다. 거의 모든 사람들이 jQuery를 실행하려고합니다. 일부는 Angular 또는 Prototype을 실행하려고합니다. 등등. 위에서 설명한 것처럼 ExtJS를 살펴 보려면 이슈 트래커에 대한 요청을하는 것이 좋습니다. 우리의 우선 순위를 결정하는 데 도움이 될 것입니다. –