在FileMaker中使用布局对象属性和变量

时间:2015-07-24 20:19:51

标签: filemaker

这是我第一次遇到GetLayoutObjectAttribute而我遇到了严重的问题。我的变量$web未设置。我认为这是因为PD_WebV不是要引用的正确对象名称,但我不知道如何找到正确的对象名称。当我点击Edit Layout时,我找不到对象名称,那么有谁知道如何找到布局对象名称?

Loop
     Pause/Resume Script [Duration (seconds): 1]
     Set Variable[$Web; Value: GetLayoutObjectAttribute("PD_WebV";"content")]
     If[$Web="done"]
          #execute if statements

enter image description here

编辑后:

经过一些问题排查后,我发现PD_WebV是要引用的正确对象名称,而且它的引用是正确的,所以我的新问题是为什么脚本没有进入该行If[$Web="done"]我该如何解决?我的If声明没有评估它应该是什么?我的$web变量是否从未设置为done或问题是完全不同的?该问题可能与我的WebDirect共享设置有关吗?任何指导都会有所帮助谢谢。

After,After Edit: 现在我的应用程序已经过了Set Variable[$Web; Value: GetLayoutObjectAttribute("PD_WebV";"content")],变量$web只等于<HTML></HTML>。有没有人知道如何在不使用javascript的情况下测试html代码的内部?

另外,我打印了我无法在布局上找到的webViewer bounds的{​​{1}},但我在脚本中指的是。每次运行脚本时,打印的边界都不同。通常还是不寻常?我的来源也是PD_WebV,所以我看起来并不是从网上采购

2 个答案:

答案 0 :(得分:2)

  

我的$ web变量是否从未设置为完成或是问题   完全不同?

如果你正在做:

Set Variable[$Web; Value: GetLayoutObjectAttribute("PD_WebV";"content")]

然后唯一的时间

$Web="done"

将返回true,当加载到您的Web查看器中的网页包含完全字符串“done”时(实际上,这绝不是)。

我已在评论中建议您测试:

PatternCount ( $webpage ; "</html>" )

这假设您希望仅在页面加载完成后才执行后续步骤。整个脚本看起来像这样:

Loop
     Pause/Resume Script [Duration (seconds): 1]
     Set Variable[$Web; Value: GetLayoutObjectAttribute("PD_WebV";"content")]
     Exit Loop If [ PatternCount ( $webpage ; "</html>" ) ]
End Loop     
# execute statements

您可能还想在循环中添加一个计数器,并在n次试验后退出脚本。

答案 1 :(得分:1)

啊,我重读了你的问题。

要设置webviewer的对象名称,以便df$added <- unlist(lapply(split(df,df$group),function(x){ cumsum((cumsum(x$occurs) > 0) * x$numToAdd) })) 功能正常工作,您需要在选中webviewer时在检查器的名称字段中进行设置。

e.g:

enter image description here

之后你的变量应该填充。

注意

它将填充的内容是来自浏览器的所有html ,即不是条件建议的布尔值true / false liek。

我不确定您要完成的是什么,但是为了能够从您的网络查看器中确定结果,您需要解析HTML以查看它是否为&#39 ; s内容包含您要查找的内容或您正在设置网页浏览器的代码中,使用FileMaker网址发出回调到FileMaker文件的javascript函数。