查看完整版本: 如何用JavaScript调用IE的查找功能?

ILoveLLW 2006-3-3 15:52

如何用JavaScript调用IE的查找功能?

即用JavaScript调用浏览器的功能,弹出"查找对话框",用户输入后,在当前页面中查找内容,然后将查到的内容标出来.

Nothing 2006-3-3 18:10

IE好像没有提供这个功能的接口

Nothing 2006-3-3 18:14

自己做一个吧,请看下面的代码
[code]
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>

<body>
<script>
<!--
var iFlag;
function search() {
var wPopupElements=wPopup.document.all;
if (wPopupElements.textcase.checked)
  {iFlag=4;}
else
  {iFlag=0;}
if (wPopupElements.searchtext.value==null || wPopupElements.searchtext.value=='')
  {
   wPopup.alert("Specify a value to search for");
   return;
  }
if (rng.findText(wPopupElements.searchtext.value,10000,iFlag)==true)
  {
   rng.select();
   rng.scrollIntoView();
   rng.moveStart("character");
  }
else
  {wPopup.alert("End of document");}
}

function replace() {
var wPopupElements=wPopup.document.all;
if (wPopupElements.textcase.checked)
  {iFlag=4;}
else
  {iFlag=0;}
if (wPopupElements.searchtext.value==null || wPopupElements.searchtext.value=='')
  {
   wPopup.alert("Specify a value to replace for");
   return;
  }
if (rng.findText(wPopupElements.searchtext.value,-10000,iFlag)==true)
  {
   rng.text = wPopupElements.replacetext.value;
  }
else
  {wPopup.alert("End of document");}
}

function replaceall() {
var rng = document.body.createTextRange();
var wPopupElements=wPopup.document.all;
if (wPopupElements.textcase.checked)
  {iFlag=4;}
else
  {iFlag=0;}
if (wPopupElements.searchtext.value==null || wPopupElements.searchtext.value=='')
  {
   wPopup.alert("Specify a value to replace for");
   return;
  }
  for (i=0; rng.findText(wPopupElements.searchtext.value,10000,iFlag)!=false; i++)
  {
   rng.scrollIntoView();
   rng.text = wPopupElements.replacetext.value;
  }
  setTimeout('wPopup.alert(i + " item(s) replaced!")',200);
}
//-->
</script>

<script>
<!--
function gofind() {
wPopup=window.open('about:blank','','width=350 height=110 left=200 top=200 menubar=no resizeable=no scrollbars=no toolbar=no');
var wPopupDoc=wPopup.document;
wPopupDoc.open();
wPopupDoc.write('<html>
');
wPopupDoc.write('<head>
');
wPopupDoc.write('<title>Find and Replace-www.51windows.Net</title>
');
wPopupDoc.write('<style>
');
wPopupDoc.write('body,td,div,{font:menu}
');
wPopupDoc.write('button {width:80}
');
wPopupDoc.write('</style>
');
wPopupDoc.write('</head>
');
wPopupDoc.write('<body bgcolor="buttonface" leftmargin="0" topmargin="0">
');
wPopupDoc.write('<table width="350" border="0" cellspacing="0" cellpadding="3" bgcolor="buttonface">
');
wPopupDoc.write('<tr>
');
wPopupDoc.write('<td>Find what:</td>
');
wPopupDoc.write('<td><input type="text" name="searchtext" onchange="window.opener.rng=window.opener.document.body.createTextRange()"></td>
');
wPopupDoc.write('<td><button accesskey="S" name="searchbutton" onclick="window.opener.search()"><u>S</u>earch</button></td>
');
wPopupDoc.write('</tr>
');
wPopupDoc.write('<tr>
');
wPopupDoc.write('<td>Replace with:</td>
');
wPopupDoc.write('<td><input type="text" name="replacetext"></td>
');
wPopupDoc.write('<td><button accesskey="R" name="replacebutton" onclick="window.opener.replace()"><u>R</u>eplace</button></td>
');
wPopupDoc.write('</tr>
');
wPopupDoc.write('<tr>
');
wPopupDoc.write('<td colspan="2"><input type="checkbox" name="textcase" value="textcase">Match Case</td>
');
wPopupDoc.write('<td><button accesskey="A" name="replaceallbutton" onclick="window.opener.replaceall()">Replace<u>A</u>ll</button></td>
');
wPopupDoc.write('</tr>
');
wPopupDoc.write('<tr>
');
wPopupDoc.write('<td colspan="2">&nbsp;</td>
');
wPopupDoc.write('<td><button accesskey="C" name="cancelbutton" onclick="window.close()"><u>C</u>ancel</button></td>
');
wPopupDoc.write('</tr>
');
wPopupDoc.write('</table>
');
wPopupDoc.write('</body>
');
wPopupDoc.write('</html>
');
wPopupDoc.close();
}
//-->
</script>
<button onclick="gofind()">Find and Replace</button>

<pre style="font:menu">
What is FlashGet?


--------------------------------------------------------------------------------

FlashGet is specifically designed to address two of the biggest problems when downloading files: Speed and management of downloaded files.

If you've ever waited forever for your files to download from a slow connection, or been cut off midway through a download - or just can't keep track of your ever-growing downloads - FlashGet is for you. FlashGet can split downloaded files into sections, downloading each section simultaneously, for an increase in downloading speed from 100% to 500%. This, coupled with FlashGet's powerful and easy-to-use management features, helps you take control of your downloads like never before.



--------------------------------------------------------------------------------

Speed
FlashGet can automatically split files into sections or splits, and download each split simultaneously. Multiple connections are opened to each file, and the result is the the most efficient exploitation of the bandwidth available. Whatever your connection, FlashGet makes sure all of the bandwidth is utilized. Difficult, slow downloads that normally take ages are handled with ease. Download times are drastically reduced.
Management
FlashGet is capable of creating unlimited numbers of categories for your files. Download jobs can be placed in specifically-named categories for quick and easy access. The powerful and easy-to-use management features in FlashGet help you take control of your downloads easily.



+ much, much more!
</pre>
</body>
</html>
[/code]
页: [1]
查看完整版本: 如何用JavaScript调用IE的查找功能?