javascript - NetSuite SuiteScript 2.0:内联 HTML document.querySelector() 结果
问题描述
我有一个 SuiteScript 2.0内联 HTML字段,其默认值是通过成功获取网页并抓取所需数据的脚本注入的(即 hack):
@NScriptType UserEventScript
var field = scriptContext.form.addField({
id: 'custpageinjectcode',
type: 'INLINEHTML',
label: 'Inject Code'
});
field.defaultValue = "<script> ...var desiredText = document.querySelector(...).innerText; alert(desiredText);'jQuery(function($){ require(['/SuiteScripts/clientSuiteScript.js'], function(mod){ mod.pageInit();});});'</script>"
我还有一个带有监听器的 clientScript:
@NScriptType ClientScript
function (currentRecord) {
function pageInit() {
window.addEventListener("message", browser_ReceiveMessage, false);
console.log('Added Listener...');
}
return {
pageInit: pageInit
}
function browser_ReceiveMessage(event) {
var curRec = currentRecord.get();
console.log('Current Record ID', curRec.id)
}//end function
}//end main function
);//end script
考虑到字段值只是传递给浏览器进行处理的字符串, 我将如何将这个“desiredText”结果(即实际抓取的文本)传递回普通文本变量以在 NetSuite 表单上使用?
感谢您的时间和考虑。
解决方案
您可以使用postMessage将数据从inlineHTML字段发布到消息侦听器,该侦听器将位于您的客户端脚本中,并且该侦听器将更新所述字段数据。
推荐阅读
- node.js - Heroku Node.js Discord Bot 未启动
- python - 如何在 python 中但在 php 中从文件读取中产生类似的输出
- python - 如何使用 beautifulsoup 从多个页面中抓取数据
- python - 如何使用 python 使用单独的名称列表文件从文本中删除名称
- python - 我需要使用 dom python 更新 xml 文件中的多个元素
- python - Williams p+1 整数分解
- python - 如何在二进制数组中找到相邻像素的数量
- asp.net-mvc - 如何从 ASP.NET MVC 项目的前端将数据插入数据库表?
- ruby-on-rails - 使用 TinyMCE 和 Rails 7 上传图片
- python - 不进入函数-python