2013-11-15 2 views
1

Google AJAX 크롤링 사양 (?_escaped_fragment_=...)에 따라 Node.JS 백엔드 내부에서 SEO 목적으로 phantom.js가있는 정적 HTML 페이지를 렌더링하고 있습니다. 프론트 엔드 애플리케이션은 Ember (버전 1.0.0)로 작성됩니다. 궁금Ember 애플리케이션 재 초기화/애플리케이션 상태 복원

Assertion failed: You cannot use the same root element (body) multiple times in an Ember.Application 
Assertion failed: You cannot make a new Ember.Application using a root element that is a descendent of an existing Ember.Application 

같은 오류로 이어지는, 엠버 다시 초기화 할 수없는 브라우저 내부의 그 정적 HTML URL을 테스트하는 동안

내가주의 경우 :

  • 이러한 오류가 있기 때문에 발생 DOM에는 이미 Ember의 HTML 클래스와 ID가 채워져 있습니까? 예 : 또는 <script id="metamorph-7-start" type="text/x-placeholder"></script> 이미 사전 렌더링 된 DOM을 사용하여 Ember 응용 프로그램을 오류없이 다시 편집 할 수 있고 노드를 통해 HTML 클래스를 수정하지 않고 정규 표현식 마법을 사용하지 않고 다시 초기화 할 수있는 방법이 있습니다. .js 백엔드?
  • Ember 앱의 애플리케이션 상태를 복원 할 수 있습니까? 하나 이상의 엠버 응용 프로그램을 선언하고 있기 때문에

답변

2

동일한 rootElement에서이 오류가 나타날 수

App.reset(); 
:

// ok 
App = Ember.Application.create({ rootElement: "#wizard" }); 
/// rootElement default to "body" 
App = Ember.Application.create(); 
// throw error. we already have a ember app with rootElement equals to "body" 
App = Ember.Application.create(); 

응용 프로그램을 다시 초기화하려면이 reset 방법을 사용할 수 있습니다