Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > alt.computer > #11887

Highlighting text (was: How get windows FIND() to work?)

From Thomas 'PointedEars' Lahn <PointedEars@web.de>
Newsgroups alt.computer, comp.lang.javascript, sci.electronics.design
Subject Highlighting text (was: How get windows FIND() to work?)
Followup-To comp.lang.javascript
Date 2020-08-05 08:32 +0200
Organization PointedEars Software (PES)
Message-ID <3317374.iIbC2pHGDl@PointedEars.de> (permalink)
References <kv3WG.33452$RN.31186@fx13.iad>

Cross-posted to 3 groups.

Followups directed to: comp.lang.javascript

Show all headers | View raw


[Stop amok-crossposting.  This has nothing to do with computers in general 
or electronics design.  *facepalm*]

Robert Baer wrote:

>    Environment: Win7.1 Firefox 78
> 
>     Sample line used:
> <a href="downhole-measurements.html?find=able">Downhole Measurements</a>

What is happening then depends on the user agent.  It is NOT a general 
command to highlight something.  HTML is NOT a programming language.

The FIND command of CMD.exe has *nothing to do* with HTML/JavaScript.  
JavaScript is *case-sensitive*.  And “window” is NOT “windows”.
 
>     At least execution transfers from the calling HTML to the desired
> destination HTML.

HTML is _NOT_ a programming language.  HTML does NOT “execute” and does NOT 
“call”.
 
>     BUT. the keyword does NOT get underlined or highlighted in any way.

Of course not.  HTML – HyperText *Markup* Language – is _NOT_ a programming 
language.  To highlight something *in general*, you need a *programming* 
language.

>     It would be particularly nice if all the keywords got highlighted
> and the first keyword was presented on the screen (think loong document
> and keyword was in middle).
> 
>    Help?

-- downhole-measurements.html -----------------------------------

<!DOCTYPE html>
<html>
  <head>
    <!-- … -->
    <script src='highlight.js'></script>
    <!-- … -->
  </head>

  <body onload='highlight.highlightAndFocus()'>
    <!-- … -->
  </body>
</html>

-- highlight.js ----------------------------------------------------------

/**
 * highlight.js – Highlights occurrences of text in HTML documents
 * @author (C) 2020  Thomas 'PointedEars' Lahn <js@PointedEars.de>
 *
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * The program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License at <http://www.gnu.org/licenses/>
 * for more details.
 */

var highlight = {
  getNeedle: function () {
    /* Get value of value of “find” parameter */
    var value = (window.location.search.match(/[?&]find=([^&#]+)/) || [,])
[1];
    if (value) value = decodeURIComponent(value);
    return value;
  },

  focus: function (needle) {
    if (needle)
    {
      /* Focus first occurence */
      if (typeof window.find != 'undefined' && !window.find(needle))
      {
        if (typeof console != 'undefined'
            && typeof console.log != 'undefined')
        {
          console.log('Text not found: "' + needle + '"');
        }
      }
    }
  },

  highlight: function (needle) {
    if (needle)
    {
      /* Highlight all occurrences */
      document.body.innerHTML = document.body.innerHTML.replace(
        new RegExp(
          /* slurp textareas and tags */
          '(<textarea>(?:[^<]|<[^\/])+<\/textarea>|<[^>]+>)|'
            + needle.replace(/[\]\\^$*+?.(){}|[]/g, "\\$&"),
          'gi'),
        function (match, tag, offset, all) {
          /* ignore elements/tags */
          if (tag) return tag;

          return ('<span style="background-color: yellow; color: black">'
            + match + '</span>');
        }
      );
    }
  },

  highlightAndFocus: function (needle) {
    if (!needle) needle = this.getNeedle();
    this.highlight(needle);
    this.focus(needle);
  }
};

--8<----------------------------------------------------------------------

F’up2 comp.lang.javascript

-- 
PointedEars
FAQ: <http://PointedEars.de/faq> | <http://PointedEars.de/es-matrix>
<https://github.com/PointedEars> | <http://PointedEars.de/wsvn/>
Twitter: @PointedEars2 | Please do not cc me./Bitte keine Kopien per E-Mail.

Back to alt.computer | Previous | Next — Previous in thread | Find similar | Unroll thread


Thread

How get windows FIND() to work? Robert Baer <robertbaer@localnet.com> - 2020-08-03 19:13 -0700
  Re: How get windows FIND() to work? Arno Welzel <usenet@arnowelzel.de> - 2020-08-04 04:49 +0200
    Re: How get windows FIND() to work? Robert Baer <robertbaer@localnet.com> - 2020-08-04 20:06 -0700
      Re: How get windows FIND() to work? Arno Welzel <usenet@arnowelzel.de> - 2020-08-05 07:55 +0200
  Re: How get windows FIND() to work? Clifford Heath <no.spam@please.net> - 2020-08-04 15:22 +1000
    Re: How get windows FIND() to work? Robert Baer <robertbaer@localnet.com> - 2020-08-04 10:06 -0700
      Re: How get windows FIND() to work? Arno Welzel <usenet@arnowelzel.de> - 2020-08-04 19:42 +0200
    Re: How get windows FIND() to work? Robert Baer <robertbaer@localnet.com> - 2020-08-04 20:13 -0700
      Re: How get windows FIND() to work? Clifford Heath <no.spam@please.net> - 2020-08-05 19:56 +1000
        Re: How get windows FIND() to work? Arno Welzel <usenet@arnowelzel.de> - 2020-08-05 13:54 +0200
          Re: How get windows FIND() to work? Clifford Heath <no.spam@please.net> - 2020-08-05 21:55 +1000
            Re: How get windows FIND() to work? Arno Welzel <usenet@arnowelzel.de> - 2020-08-05 15:40 +0200
              Re: How get windows FIND() to work? Robert Baer <robertbaer@localnet.com> - 2020-08-06 12:27 -0700
                Re: How get windows FIND() to work? Arno Welzel <usenet@arnowelzel.de> - 2020-08-07 14:09 +0200
            Re: How get windows FIND() to work? Robert Baer <robertbaer@localnet.com> - 2020-08-06 12:24 -0700
          Re: How get windows FIND() to work? Robert Baer <robertbaer@localnet.com> - 2020-08-06 12:23 -0700
        Re: How get windows FIND() to work? Robert Baer <robertbaer@localnet.com> - 2020-08-06 12:16 -0700
  Re: How get windows FIND() to work? "R.Wieser" <address@not.available> - 2020-08-04 09:10 +0200
    Re: How get windows FIND() to work? "Evertjan." <exxjxw.hannivoort@inter.nl.net> - 2020-08-04 23:46 +0200
      Re: How get windows FIND() to work? Robert Baer <robertbaer@localnet.com> - 2020-08-04 20:21 -0700
        Re: How get windows FIND() to work? Arno Welzel <usenet@arnowelzel.de> - 2020-08-05 07:56 +0200
          Re: How get windows FIND() to work? Robert Baer <robertbaer@localnet.com> - 2020-08-06 11:40 -0700
            Re: How get windows FIND() to work? Arno Welzel <usenet@arnowelzel.de> - 2020-08-07 14:26 +0200
      Re: How get windows FIND() to work? "R.Wieser" <address@not.available> - 2020-08-05 08:59 +0200
        Re: How get windows FIND() to work? "Evertjan." <exxjxw.hannivoort@inter.nl.net> - 2020-08-06 01:11 +0200
      Re: How get windows FIND() to work? Clifford Heath <no.spam@please.net> - 2020-08-06 11:36 +1000
        Re: How get windows FIND() to work? "Evertjan." <exxjxw.hannivoort@inter.nl.net> - 2020-08-06 12:24 +0200
          Re: How get windows FIND() to work? Robert Baer <robertbaer@localnet.com> - 2020-08-06 12:40 -0700
            Re: How get windows FIND() to work? "R.Wieser" <address@not.available> - 2020-08-07 10:27 +0200
            Re: How get windows FIND() to work? Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2020-08-08 04:39 +0200
          Re: How get windows FIND() to work? Clifford Heath <no.spam@please.net> - 2020-08-07 18:46 +1000
  Highlighting text (was: How get windows FIND() to work?) Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2020-08-05 08:32 +0200

csiph-web