NetSuite Portlet SuiteScript加载iframe失败,报SSS_INVALID_UI_OBJECT_TYPE错误
解决NetSuite Portlet加载SuiteScript的SSS_INVALID_UI_OBJECT_TYPE错误
错误原因
你遇到的SSS_INVALID_UI_OBJECT_TYPE错误,核心原因是当前Portlet默认类型为form,但代码中使用了仅支持html类型Portlet的context.portlet.html属性,导致操作不被系统允许。
解决方案
在render函数开头,先将Portlet的类型明确设置为html,即可合法使用html属性嵌入指定URL的内容。同时注意闭合iframe标签,避免渲染异常。
修改后的完整代码
/** * @NScriptType Portlet * @NApiVersion 2.1 */ define(['N/log','N/record'], function(log,record) { function render(context) { // 明确设置Portlet类型为html context.portlet.type = 'html'; context.portlet.title = 'Test Form Portlet'; const url = 'https://app.acceptance.com/panel/public/launch/suite.html'; context.portlet.html = "<iframe id='paneldata' style='width: 100%; height: 150px; margin:0; border:0; padding:0' src='" + url + "'></iframe>"; } return { render: render }; });
内容的提问来源于stack exchange,提问作者Prashant Khabiya
相关产品推荐
相关产品推荐

