我希望使用Blockly允许非技术用户指定测试脚本。
它的一部分将需要一个文件选择器,然而,我看不出Blockly有一个。是吗?
实际上,我找不到完整的标准区块列表。有人有网址吗?
如果没有标准的Blockly文件选择器,我如何访问Windows文件选择器?(一般来说,我如何执行DOS命令?)
发布于 2016-04-26 14:23:10
据我所知,我认为您无法从Blockly获得一个文件选择器,但是这个帖子可能对您有用,其中一个人为此目的创建了一个custom Block。
另外,我无法找到一个只有所有标准块名称的列表,但我看到在playground of Blockly上,您可以看到Google提供给您的所有标准块。如果您想查看所有这些代码,您可以在发条GitHub上看到它。
我猜想,如果Blockly没有文件选择器,那么它也不能访问Windows File Selector,但是也许您可以通过Javascript创建一个custom Block (我不知道您使用的是哪种编程语言)。这链接可以帮助Javascript Windows File Selector。
我希望它会对你有用!
发布于 2017-12-11 10:38:10
您可以在一个块输入上重写showEditor_函数--这在FieldTextInput中运行得很好。有关“截获”按钮打开jquery对话框的示例,请参见https://youtu.be/eYHo0VeSLCI,该对话框将填充文本值。然后,javascript生成器检索文本值,以便在“运行时”加载所选文件。
我在下面粘贴了一些删减代码:
显示标准文本输入
let fileInput = new Blockly.FieldTextInput('** CHOOSE A FILE **')然后,您可以附加一个单击处理程序,它将显示您的文件选择器-因此标准的浏览器文件选择器可以.
fileInput.showEditor_=(()=>alert("Intercepted"))您需要用文件选择器代码替换警报。您的代码还需要设置文本输入的值--如下所示:
let block = Blockly.mainWorkspace.getBlockById(block_id)
block.setFieldValue(filename, widget_id)其中,widget_id标识文本输入,block_id标识实际包含的块。
https://stackoverflow.com/questions/35222228
复制相似问题