나는이 방법액세스 ckeditor는 장고 프로젝트에서
CKEDITOR.replace('id_content', {
toolbar: 'Basic',
readOnly: {{ editing|yesno:"false,true" }}
});
에 내 casperjs 스크립트에 ckeditor를로드 한 나는이 방법
var ckeditor = this.evaluate(function() {
return document.querySelector('#id_content').contentWindow.CKEDITOR;
});
ckeditor.instances.id_content.setData('<p>AAA bbb CCC</p>');
에서 편집기에 액세스하려고 이 게시물에서 읽은 내용을 토대로 access-javascript-ckeditor-object-within-an-iframe 콘솔 출력은 다음과 같습니다.
FAIL TypeError: 'null' is not an object (evaluating 'ckeditor.instances')
어떤 생각입니까? 감사!
편집 :
나는 모든 물건을하려고하면은하지 않은 변경 방법에게 ckeditor 내용을 평가한다. 다음 코드
var ckeditor = this.evaluate(function() {
var ckeditor = document.querySelector('#id_content').contentWindow.CKEDITOR;
ckeditor.instances.id_content.setData('<p>AAA bbb CCC </p>');
});
this.test.assertField('content', '<p>AAA bbb CCC</p>');
당신은과 casperjs (및 phantomjs)의 페이지 문맥에서 기능을 전달할 수 없습니다 출력
FAIL "content" input field has the value "<p>AAA bbb CCC</p>"
# type: assertField
# code: this.test.assertField('content', '<p>AAA bbb CCC</p>');
# subject: false
# inputName: "content"
# actual: "<p>In et qui nobis eos. Rem impedit ullam nihil placeat in. Et ea explicabo earum quam. Earum rerum ipsum ea soluta.</p>\n"
# expected: "<p>AAA bbb CCC</p>"
조언이 정확하지만, 내용은 아직 변경되지 않습니다. –
@SalvatoreAvanzo 나는'ckeditor'에 익숙하지 않으므로 당신이하는 바른 전화인지 모른다. 또한, 그것이 옳지 않은지 어떻게 확인합니까? 스크린 샷을 만드시겠습니까? 그렇게하기 전에 '대기'해야 할 수도 있습니다. –