这是我的另一个面向可用性的问题...
提交新内容时,是否有办法使结果查看器本身“自动定位”在最新输出的顶部?
有时结果查看器显示刚生成的表格的底部。有时,它显示表格的顶部,但不显示“最高”表格的顶部(即,在新结果的中间)。
这种行为类似于在网上冲浪并让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 */
可以!通过了解:
ODS 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;