这是另一个针对我的可用性问题...
有没有办法让结果查看器"自动定位"当提交新内容时,它本身位于最新输出的顶部?
有时,结果查看器会显示刚刚生成的表的底部。有时,它会显示表格的顶部,但不显示最顶层的表格#34;表(即在新结果的中间)。
这种行为类似于浏览网页并让Chrome在底部打开一个新的网页...它确实没有意义,并且在尝试查找结果的同时需要时间来查看结果新结果,有时可能会很长,并与以前的其他结果混在一起。
部分解决方法是在每次运行期间清除日志/结果查看器,这至少可以轻松地将页面放到当前结果的顶部,但我仍然需要实际翻页,这看起来很愚蠢。这是我用来从代码中清除日志和输出查看器的内容。是否有更好的命令可供使用?
*Clear prior run's result viewer list and log window*;
ods html close; /* close previous */
DM log "OUT;CLEAR;LOG;CLEAR;" log continue ;
DM log 'next results; clear; cancel;' whostedit continue ;
ods html; /* open new */
答案 0 :(得分:0)
可以!通过了解:
ODS HTML
目标生成HTML源,该HTML源在每个proc输出之前具有默认锚点<A
NAME=IDX#n>
。可以使用ODS HTML ANCHOR=
选项更改锚名称前缀。Proc TEMPLATE
可用于创建自定义样式,该样式利用POSTHTML
之类的样式属性将HTML代码段注入到JavaScript代码目标中。location.hash
分配给期望的初始锚名称。这将迫使浏览器导航到该锚点。示例:
proc template;
define style topnav; /* name of style to specify when opening ODS HTML */
parent=styles.htmlblue; /* name of style to use for thematic desire */
/* JavaScript to be injected into destination */
style body from body /
posthtml="<script>location.hash='#IDX';</script>";
end;
run;
ods html
path="C:\temp"
body="sample.html"
style=topnav /* specify the custom style */
;
proc print data=sashelp.cars;
run;
proc print data=sashelp.class;
run;
ods html close;