如何将值从SuiteScript suitelet安全地传递到HTML页面?

时间:2019-03-30 02:25:05

标签: suitescript suitescript2.0

我试图将值从Suitelet传递到正在插入Suitelet表单的INLINEHTML字段中的HTML页面。但是,我不确定实现此目标的最佳方法。我目前正以这种方式进行操作,但是我想确保我理想地使用一种比较安全的方法,而不是允许XSS漏洞。

Suitelet INLINEHTML字段:

var htmlForm = form.addField({
    id: 'custpage_htmlform',
    type: ui.FieldType.INLINEHTML,
    label: 'HTMLFORM'
});

var fileObj = file.load({
    id: 123
});

var htmlContent = fileObj.getContents();
htmlContent = htmlContent.replace("['REPLACETHIS']","['<input type=\"radio\" name=\"selectRow\" />','EXAMPLE','1234','1245','01/2021','<img src=\"https://imageurl.example" />'];");
htmlForm.defaultValue = htmlContent;

HTML示例:

<table id="example" class="display" style="width:100%">
</table>
<br />

<script>
    //Main Data Table    
    var exampleValues = new Array();

    var exampleDetailArr = ['REPLACETHIS'];
    exampleValues.push(exampleDetailArr);

    window.$vars = {
        exampleValues: exampleValues
    }

    $(document).ready(function() {

    $('#example').DataTable( {
        data: exampleValues,
        "bJQueryUI": true,
        columns: [
            { title: "Select" },
            { title: "Type" },
            { title: "Internal ID" },
            { title: "External ID "},
            { title: "Date" },
            { title: "Memo" },
        ],
        "columnDefs": [
        {
            "targets": [ 3 ],
            "visible": false,
            "searchable": false
        }
    ]
    } );
} );
</script>

0 个答案:

没有答案