Как надежно передать значения из пакета SuiteScript на страницу HTML? - PullRequest
1 голос
/ 30 марта 2019

Я пытаюсь передать значения из Suitelet на страницу HTML, которая вставляется в поле INLINEHTML в форме Suitelet.Тем не менее, я не уверен, как лучше всего это сделать.В настоящее время я делаю это таким образом, но я хочу убедиться, что в идеале я использую несколько безопасный метод, в отличие от учета уязвимостей 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>
...