我给你提供一个思路,具体用什么js函数,你得自己查查:
你必须对aa_help.htm作一些改动,类似于:
<label name=...>同比:指的是你的。。 </label>
<label name=...>增长率:指的是你的。 </label>
<label name=...>企业编码:指的是你的 </label>
<label name=...>企业机制:指的是你的。 </label>
label的名字你可以自己定,最好以某种编码方式和帮助关键字如“同比”、“增长率”等关联起来。
然后你查查资料看label对象有没有一个方法,可以将其中的内容选择起来。或者把label换成div?
你必须对aa_help.htm作一些改动,类似于:
<label name=...>同比:指的是你的。。 </label>
<label name=...>增长率:指的是你的。 </label>
<label name=...>企业编码:指的是你的 </label>
<label name=...>企业机制:指的是你的。 </label>
label的名字你可以自己定,最好以某种编码方式和帮助关键字如“同比”、“增长率”等关联起来。
然后你查查资料看label对象有没有一个方法,可以将其中的内容选择起来。或者把label换成div?
if (rng.findText("sample")==true) {
rng.select();
rng.scrollIntoView();
}其中的sample为aa.htm里面获取的selection。
大概方法就是这样,具体的靠你自己去实现了。这些都是htmlref.chm里面的,你可以自己查查。
aa.htm代码:
<script>
var aahelp=window.open("aahelp.htm");
</script>
<body onmouseup=aahelp.usr()>
12345
</body>aahelp.htm代码:
<body>
12345
</body>
<script>
function usr()
{
var rng=document.body.createTextRange();
var samp=opener.document.selection.createRange();
if (rng.findText(samp.text)==true) {
window.focus();
rng.select();
rng.scrollIntoView();}
}
</script>基本上就是这个样子。你再根据你的情况把触发事件改一下(F1),基本上就没有什么问题了。
我用alert(document.body.createTextRange());输出的是[object]这是什么意思?还有
rng.scrollIntoView();是什么意思?
(所以输出的是[object]。)
rng.scrollIntoView()是滚动到该位置(进入视野),这个在内容较长(有滚动条)的时候才有效果。
你可以去看看DHTML方面的资料,试试搜索你自己的机子里面有没有htmlref.chm文件,它是个好西西。
var samp=opener.document.selection.createRange(); //对父窗口中被选择的部分创建一个文字区域,返回给SAMP。
if (rng.findText(samp.text)==true) { //判断在RNG区域里面,用FINDTEXT方法是否能寻找到SAMP区域的TEXT属性的值,如果为真就继续执行下面的语句。
window.focus(); //当前窗口获得焦点。
rng.select(); //找到的部分被选择(高亮)。
rng.scrollIntoView();} //滚动到找到的部分使其进入视野。