在onClientLoad事件中从NotesDocument加载JavaScript

时间:2018-05-20 18:50:20

标签: javascript xpages ssjs

我想在Notes文档中为dataTables插件加载初始化脚本。在本文档中,我存储了更多数据,如对象类型,数据源位置,显示配置。现在我还想将脚本存储到initiliaze数据库插件。

我可以将值存储在viewScope中,该视图是在XPage上的beforePageLoad事件中设置的。

viewScope的内容可以如下:

$(document).ready(function() { var table = $('#tablePager').DataTable({ "order": [ [1, "asc"] ], responsive: true, paging: false, /*stateSave: true,*/ colReorder: { reorderCallback: function() { console.log('callback'); } }, dom: 'Bfrtip', buttons: [ 'excelHtml5', 'print' ] }); //$('#tablePager_filter input').val('');});

当我尝试评估onClientLoad事件中的值时,我收到错误:

<xp:eventHandler event="onClientLoad" submit="false">
        <xp:this.script><![CDATA[eval('#{javascript:viewScope.dataTable}')
]]></xp:this.script>

未捕获的SyntaxError:无效或意外的令牌

有没有人建议如何将字符串转换为函数?

1 个答案:

答案 0 :(得分:1)

为什么将客户端JS放在服务器端viewScope变量中?您可以使用xp:scriptBlock控件