代码之家  ›  专栏  ›  技术社区  ›  Patrick Kwinten

在OnClientLoad事件中从notesDocument加载javascript

  •  0
  • Patrick Kwinten  · 技术社区  · 8 年前

    我想为Notes文档中的DataTables插件加载初始化脚本。在这个文档中,我存储了更多的数据,如对象类型、数据源位置、显示配置。现在我还想存储脚本来初始化DataTable插件。

    我可以将该值存储在一个viewscope中,该viewscope是在xpage的beforepageload事件中设置的。

    可视范围的内容可以如下所示:

    $(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>
    

    未捕获语法错误:标记无效或意外

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

    1 回复  |  直到 8 年前
        1
  •  1
  •   Per Henrik Lausten    8 年前

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