世界之窗论坛's Archiver

neo007 发表于 2008-8-17 20:04

会js编程的请进

[code]
<script language="JavaScript">
var strTopDomain = document.location.host;
var txtRange;
var strInput = window.prompt("请输入一个或多个关键字(用逗号分隔)\n空白则清除高亮", "");
function Search_HighLight(doc)
{
    var needScroll = true;
    var strDomain = doc.location.host;
    if (strInput)
    {
        var strKey = strInput.split(',');
        for (var i = 0; i < strKey.length; i++)
        {
            if (typeof(doc.body.createTextRange) == "object")
            {
                txtRange = doc.body.createTextRange();
                while (txtRange.findText(strKey[i]))
                {
                    if (needScroll)
                    {
                        txtRange.scrollIntoView();
                        needScroll = false;
                    }
                    txtRange.pasteHTML("<span id='search_highlight' style='background-color:yellow'>" + txtRange.text + "</span>");
                }
            }
        }
    }
    else
    {
        var txtRangeOld = doc.all["search_highlight"];
        if (txtRangeOld)
            if (txtRangeOld.length)
                for (var i = txtRangeOld.length - 1; i >= 0; i--)
                    txtRangeOld[i].outerHTML = txtRangeOld[i].innerHTML;
            else
                txtRangeOld.outerHTML = txtRangeOld.innerHTML;
    }
    if ((strDomain == strTopDomain) && (doc.frames))
    {
        for (var i = 0; i < doc.frames.length; i++)
        {
            try
            {
                Search_HighLight(doc.frames[i].document);
            }
            catch (e) {}
        }
    }
}
Search_HighLight(document);
</script>


var strTopDomain = document.location.host;
var txtRange;
var strInput = window.prompt("请输入一个或多个关键字(用逗号分隔)\n空白则清除高亮", "");
function Search_HighLight(doc)
{
    var needScroll = true;
    var strDomain = doc.location.host;
    if (strInput)
    {
        var strKey = strInput.split(',');
        for (var i = 0; i = 0; i--)
                    txtRangeOld[i].outerHTML = txtRangeOld[i].innerHTML;
            else
                txtRangeOld.outerHTML = txtRangeOld.innerHTML;
    }

    if ((strDomain == strTopDomain) && (doc.frames))
    {
        for (var i = 0; i < doc.frames.length; i++)
        {
            try
            {
                Search_HighLight(doc.frames[i].document);
            }
            catch (e) {}
        }
    }
}
Search_HighLight(document);
[/code]

以上是"页面内查找及高亮关键字"插件的代码. 会js的朋友能否帮忙改一下, 不要window.prompt("请输入一个或多个关键字...), 而是从搜索栏读取关键字....

谢谢

neo007 发表于 2008-8-20 10:58

这里好冷啊...............

yjwgi 发表于 2008-8-20 11:23

不会。帮楼主顶一下

neo007 发表于 2008-8-21 11:00

没看到的朋友都来看看了

haokeyy 发表于 2008-8-21 12:46

弄成 exe 或者 dll ,从搜索栏读取关键字 [TW_face10]

neo007 发表于 2008-8-22 11:00

[quote]原帖由 [i]haokeyy[/i] 于 2008-8-21 12:46 发表 [url=http://bbs.ioage.com/cn/redirect.php?goto=findpost&pid=621027&ptid=64848][img]http://bbs.ioage.com/cn/images/common/back.gif[/img][/url]
弄成 exe 或者 dll ,从搜索栏读取关键字 [TW_face10] [/quote]
谢谢.
exe我会写. 假如叫做yyyy.exe. 然后呢? yyyy.exe怎么写入上述代码? JS我不懂

haokeyy 发表于 2008-8-23 16:47

[quote]原帖由 [i]neo007[/i] 于 2008-8-22 11:00 发表 [url=http://bbs.ioage.com/cn/redirect.php?goto=findpost&pid=621856&ptid=64848][img]http://bbs.ioage.com/cn/images/common/back.gif[/img][/url]

谢谢.
exe我会写. 假如叫做yyyy.exe. 然后呢? yyyy.exe怎么写入上述代码? JS我不懂 [/quote]

你换浏览器了啊 :lol:  [url=http://www.5igb.com/bbs/viewthread.php?tid=10882&extra=page%3D4]http://www.5igb.com/bbs/viewthread.php?tid=10882&extra=page%3D4[/url]

neo007 发表于 2008-8-23 18:31

hehe. 是我.
希望两个浏览器的好功能可以统一.

页: [1]

Powered by Discuz! Archiver 7.2  © 2001-2009 Comsenz Inc.