我在我们的网站上集成了 Adobe EchoSign。但是,当我使用 ajax 调用 EchoSign 以显示小部件时,我在控制台中收到此错误:
Failed to execute 'write' on 'Document':
It isn't possible to write into a document from an asynchronously-loaded external script unless it is explicitly opened.
widget?f=9K4JRD4I7H`2U3Q&token=SSGROXIB69QCKZBMSSEL6ARM&_=1406108929150:1
我已经花了 2 天的时间来寻找问题所在,但我可以弄清楚。实际上,当加载小部件时,它包含一个脚本和一个 iframe,在我的情况下是加载脚本,之后无法执行此 document.write('the iframe here')....
我正在使用 wordpress,也许 wordpress 有冲突?
我用 ajax 打电话:
$('#my_id').html('').load('/my_EchoSign.php', function(){
});
这是php:
$file = EchoSign\Info\FileInfo::createFromFile($filepath);
$widget = new EchoSign\Info\WidgetCreationInfo('Test createPersonalEmbeddedWidget', $file);
$personalization = new EchoSign\Info\WidgetPersonalizationInfo($recipient_email);
try{
$result_sign = $api->createPersonalEmbeddedWidget($widget, $personalization);
}catch(Exception $e){
print '<h3>An exception occurred:</h3>';
var_dump($e);
}
echo $result_sign->{'embeddedWidgetCreationResult'}->javascript;
来自控制台的结果是,在 ajax 调用 echosign 文件并检查前端插入的内容后,我看到了试图为小部件调用 iframe 的脚本,并且出现错误无法写入文档。
为了正常工作,它必须显示脚本和 iframe,但在脚本因该错误停止后与我一起。
提前感谢您的帮助。