如何将 HTML 链接添加到 JMP 交互式 HTML 文件JMP 社区您好,
(JMP Pro 14.1.0、W10E 64 位)
我有几个单独保存的 JMP 交互式 HTML 文件 - 我必须以这种方式保存它,因为我正在使用“列切换器”,而 HTML 没有列的概念,因此无法将它们切换出来。
相反,我想插入一个从一个分析 HTML 文件到另一个分析文件的 href 链接。
例如,我有一个名为“test.htm”的单向 anova 交互式 HTML。 在 JMP 中,我使用列切换器更改水平分类列并将其另存为“test2.htm”。
我想进入并编辑 HTM 文件,以便每个文件中都嵌入一个链接,可将您带到另一个文件。 这可能吗? 我尝试了几种方法,例如将其添加到 <script> 标记,但这些都不起作用。 看来这应该是可行的。
在此先感谢您的时间!
DS
更新:所以,我发现我可以在 JavaScript 中调用 JMP 函数,在交互式 HTML 的顶部生成一个新按钮,该按钮链接到另一个文件,并将在浏览器中打开一个新选项卡。 一个临时的解决方法,但并不理想。 我不想将其添加到 JavaScript 中的某个随机部分,而是添加到更容易找到的位置,以便编辑多个文件更容易。 任何关于如何在此基础上构建通过 HTML 更轻松地在分析之间切换的想法都将受到高度赞赏。 谢谢!
_(u,"test2.htm","spaceLeft","buttonSquare buttonUp")
回复:如何将 HTML 链接添加到 JMP 交互式 HTML 文件你好@圣诞节,
Filter + 1 选项用于使一个图表充当另一个图表的选择过滤器。 您永远不应该将本地数据过滤器放入该仪表板的过滤器一侧。 交互式 HTML 不支持选择过滤器。
如果您只想过滤一个报告或平台,最好在创建仪表板之前将过滤器添加到图表中。
因为您询问的是选项 2,所以我认为您可能希望将本地数据过滤器应用于多个选项卡上的多个报告或平台。 去做这个,
- 使用创建新的 JMP 应用程序并选择从空白应用程序开始。 请参见: https://www.jmp.com/support/help/en/16.0/index.shtml#page/jmp/additional-examples-of-creating-applications.shtml有关创建 JMP 应用程序的更多信息。
- 双击数据过滤器上下文框。这将向工作区添加一个数据过滤器上下文框。 放置在此框中的所有内容都将共享相同的本地数据过滤器。
- 在容器下,拖动H列表盒子进入数据过滤器上下文框。这允许您在此框中放置多个对象并水平排列它们。
- 将数据过滤器(本地)拖到 H 列表框中。
- 在容器下,将选项卡框拖到 H 列表框中。
- 然后,将报告或平台添加到选项卡框。
- 运行应用程序以选择本地数据过滤器的设置。
它应该看起来像这样:

请注意,我禁用了本地数据过滤器的包含模式。
您应该能够导出到交互式 HTML,它看起来像这样:

我希望这有帮助。
〜约翰
回复:如何将 HTML 链接添加到 JMP 交互式 HTML 文件你好,约翰,
您能详细说明一下第二个选项吗? 我面临着另一个挑战。 当我制作控制图时,包含本地数据过滤器,取消选中包含并将其另存为交互式 HTML,过滤器似乎可以工作。 但是,当我对带有 2 个面板的仪表板(即 Filter + 1 仪表板(带有图表))执行相同的操作并取消选中“包含”时,过滤器不再与其旁边的图表交互。 你能帮我解决一下吗? 谢谢。
回复:如何将 HTML 链接添加到 JMP 交互式 HTML 文件不客气。
回复:如何将 HTML 链接添加到 JMP 交互式 HTML 文件你好@约翰_鲍威尔_JMP ,
非常感谢您对如何解决 HTML 文件的列切换器问题的清晰解释。 我怀疑我们是否有足够的需求来使用 JMP Live,所以这就是为什么我想找到一种可行的格式。
我自己喜欢将仪表板选项作为 HTML 文件,因为一项分析的数据链接到另一项分析,所以这非常酷。 我已生成您提供的所有三个选项,并将其与需要共享数据的同事共享。 我会找出他喜欢哪种方法并帮助他。
谢谢!,
DS
回复:如何将 HTML 链接添加到 JMP 交互式 HTML 文件嗨,DS,
我们的交互式 HTML 文件不可编辑。 我们在使用 JavaScript 代码加载页面时构建内容,因此您尝试注入的任何内容都将被覆盖,当然 <script> 部分本身中的某些内容除外,该部分在压缩的 JavaScript 代码中调用一个奇怪命名的函数来添加按钮。&amp;amp;amp;lt;/P&amp;amp;amp;gt;
&amp;amp;amp;lt;P&amp;amp;amp;gt;但是,有几种方法可以实现为列切换器的每一列提供一个图形的单个网页。 如果您愿意重建交互式 HTML 文件,下面的前两个选项将很有用,而如果您想使用现有的 HTML 文件,则第三个选项将很有用。 最后,如果我没有提到,如果您有 JMP Live 或愿意使用 JMP Public(带有 JMP 15),发布的列切换器将按您的预期工作,无需任何额外的工作。 看&amp;amp;amp;lt;a href="https://community.jmp.com/t5/JMPer-Cable/Column-Switchers-in-JMP-Live/m-p/228135#U228135"&amp;amp;amp;gt;JMP Live 中的列切换器&amp;amp;amp;lt;/a&amp;amp;amp;gt;&amp;amp;amp;lt;/P&amp;amp;amp;gt;
&amp;amp;amp;lt;P&amp;amp;amp;gt;&amp;amp;amp;nbsp;&amp;amp;amp;lt;/P&amp;amp;amp;gt;
&amp;amp;amp;lt;P&amp;amp;amp;gt;1. 如果您愿意重建交互式 HTML 文件,您可以通过选择“重做分析”为每一列制作单独的报告,然后从列切换器中选择另一列。 接下来,使用“文件”&amp;amp;amp;gt;“发布”&amp;amp;amp;gt;“发布到文件”并选择您创建的所有报告。 这将生成一个网页,其中包含绘图的每个变体的缩略图,您可以单击该缩略图来启动特定的变体。&amp;amp;amp;lt;/P&amp;amp;amp;gt;
&amp;amp;amp;lt;P&amp;amp;amp;gt;&amp;amp;amp;nbsp;&amp;amp;amp;lt;/P&amp;amp;amp;gt;
&amp;amp;amp;lt;P&amp;amp;amp;gt;这不会创建“下一个”按钮,因此您必须使用浏览器的后退按钮来选择下一个。&amp;amp;amp;lt;/P&amp;amp;amp;gt;
&amp;amp;amp;lt;P&amp;amp;amp;gt;&amp;amp;amp;nbsp;&amp;amp;amp;lt;/P&amp;amp;amp;gt;
&amp;amp;amp;lt;P&amp;amp;amp;gt;如果您确实想要一个“下一步”按钮而不是带有多个缩略图的页面,则可以右键单击列切换器左侧的灰色三角形,然后选择“附加项目”&amp;amp;amp;gt;“添加 URL 引用”。 对于链接名称,输入 Next;对于 URL,删除 http:// 并输入 ./&amp;amp;amp;lt;nextFile.htm&amp;amp;amp;gt;,其中 &amp;amp;amp;lt;nextFile.htm&amp;amp;amp;gt; 是您要显示的下一个交互式 HTML 文件的名称。 为此,您必须提前选择要保存的文件名,并确保在另存为交互式 HTML 时使用这些文件名。 为了简单起见,您应该将所有文件保存到同一文件夹中。&amp;amp;amp;lt;/P&amp;amp;amp;gt;
&amp;amp;amp;lt;P&amp;amp;amp;gt;&amp;amp;amp;nbsp;&amp;amp;amp;lt;/P&amp;amp;amp;gt;
&amp;amp;amp;lt;P&amp;amp;amp;gt;2. 另一种选择是创建仪表板并将每个变体放在单独的选项卡上。 然后将仪表板另存为交互式 HTML。 如果您喜欢这个解决方案,我可以详细说明这一点。&amp;amp;amp;lt;/P&amp;amp;amp;gt;
&amp;amp;amp;lt;P&amp;amp;amp;gt;&amp;amp;amp;nbsp;&amp;amp;amp;lt;/P&amp;amp;amp;gt;
&amp;amp;amp;lt;P&amp;amp;amp;gt;3. 如果您必须使用现有的交互式 HTML 文件,您可以将每个文件包装在 iFrame 中,并引用下一个文件。假设您决定将这些包装文件命名为 Frame1.htm、Frame2.htm... FrameN.htm。 每一个看起来都是这样的:&amp;amp;amp;lt;/P&amp;amp;amp;gt;
&amp;amp;amp;lt;PRE&amp;amp;amp;gt;&amp;amp;amp;amp;lt;!DOCTYPE html&amp;amp;amp;amp;gt;
&amp;amp;amp;amp;lt;html&amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;head&amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;/head&amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;body&amp;amp;amp;amp;gt;
&amp;amp;amp;amp;lt;style&amp;amp;amp;amp;gt;
.next { position:absolute; right:0; margin-right:30px; z-index:10000 }
.wrapper { position:absolute; top:0; left: 0; right: 0; bottom: 0; }
.wrapper iframe { display:block; width:100%; height:100%; border:none; }
&amp;amp;amp;amp;lt;/style&amp;amp;amp;amp;gt;
&amp;amp;amp;amp;lt;a class="next" href="./Frame2.htm"&amp;amp;amp;amp;gt;Next&amp;amp;amp;amp;lt;/a&amp;amp;amp;amp;gt;
&amp;amp;amp;amp;lt;div class="wrapper"&amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;iframe frameborder="0" src="./oneway.htm" &amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;/iframe&amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;/div&amp;amp;amp;amp;gt;
&amp;amp;amp;amp;lt;/body&amp;amp;amp;amp;gt;
&amp;amp;amp;amp;lt;/html&amp;amp;amp;amp;gt;&amp;amp;amp;lt;/PRE&amp;amp;amp;gt;
&amp;amp;amp;lt;P&amp;amp;amp;gt;&amp;amp;amp;lt;a&amp;amp;amp;gt; 元素中的 href 将指向下一个包装文件 (./FrameX.htm),最后一个包装文件可以指向第一个。&amp;amp;amp;lt;/P&amp;amp;amp;gt;
&amp;amp;amp;lt;P&amp;amp;amp;gt;&amp;amp;amp;lt;iframe&amp;amp;amp;gt; 元素中的 src 是现有交互式 HTML 文件的名称,并且在每个 FrameX.htm 文件中都不同。 文件名前面的“./”假定框架文件和原始交互式 HTML 文件都位于同一文件夹中,但可以修改为指向另一个文件夹。&amp;amp;amp;lt;/P&amp;amp;amp;gt;
&amp;amp;amp;lt;P&amp;amp;amp;gt;&amp;amp;amp;nbsp;&amp;amp;amp;lt;/P&amp;amp;amp;gt;
&amp;amp;amp;lt;P&amp;amp;amp;gt;我希望这些解决方案之一比您找到的解决方案更适合您。&amp;amp;amp;lt;/P&amp;amp;amp;gt;
&amp;amp;amp;lt;P&amp;amp;amp;gt;-约翰&amp;amp;amp;lt;/P&amp;amp;amp;gt;
&amp;amp;amp;lt;P&amp;amp;amp;gt;&amp;amp;amp;nbsp;&amp;amp;amp;lt;/P&amp;amp;amp;gt;
&amp;amp;amp;lt;P&amp;amp;amp;gt;&amp;amp;amp;nbsp;&amp;amp;amp;lt;/P&amp;amp;amp;gt;
&amp;amp;amp;lt;P&amp;amp;amp;gt;&amp;amp;amp;nbsp;&amp;amp;amp;lt;/P&amp;amp;amp;gt;
&amp;amp;amp;lt;P&amp;amp;amp;gt;&amp;amp;amp;nbsp;&amp;amp;amp;lt;/P&amp;amp;amp;gt;&amp;amp;amp;lt;/lingo-body&amp;amp;amp;gt;