Jump to content


  • Content Count

  • Joined

  • Last visited

  • Days Won


Posts posted by Ingolme

  1. HTML started allowing nesting blocks inside <a> elements when it transitioned to version 5 because there are so many use cases for hyperlink blocks.

    I still just set the display of <a> elements to "block" with CSS to avoid an unnecessary <div> inside it unless the structure is complicated.

  2. The more general solution would be to have a string containing the name of the method and use the square brackets notation to access it.

    var methodName = "toUpperCase";
    var str = "Hello World!";
    var result = str[methodName]();

    This solution only works with methods that don't take arguments, of course.

    • Thanks 1
  3. The safest way is to decide a list of permitted methods, and then use a switch() statement to choose which one you want to run:

    var newResult;
    switch(userSelectedMethod) {
      case "toUpperCase()":
        newResult = enteredText.toUpperCase();
      case "toLowerCase()":
        newResult = enteredText.toLowerCase();
        newResult = enteredText;

    If you tried to generalize further than that, it's likely that the user will break something by putting invalid methods or something that could alter the control of your program.

  4. I'm a bit late here, but it's OK to use the code examples from the W3Schools website on your own website. They're very simple and could easily be replicated accidentally, so that can't really fall under copyright protection even if W3Schools was interested in protecting it.

    The only way you would run into legal problems is if you are copying those code samples into tutorials on your own website.

  5. CSS can't do it. Ideally, the server-side language would do it. If this is a plain HTML page with no server-side language, the best option is formatting the numbers correctly when writing the HTML.

    If none of the previous cases apply, Javascript should be able to modify the numbers. In Javascript, toLocaleString() will format the numbers.

  6. Is this for homework?

    It's pretty obvious to me, but I wouldn't like to help you cheat at your homework, you wouldn't learn anything.

    A logical error is when the program compiles and runs just fine, but does not do what you want it to. To identify the logical error in your code, look at what the program is actually doing and compare it to what you want the program to do.

  7. Assuming that all of the table have the same DateTime values and the same number of rows, the query is not too difficult. If the different tables have different date times it becomes more complicated.

    The simple query would be like this:

    INSERT INTO `NewTable` (`DateTime`, `Object1Value`, `Object2Value`, `Object3Value`)
      SELECT t1.`DateTime`, t1.`Object1Value`, t2.`Object2Value`, t3.`Object3Value`
      FROM `Table1` AS t1
      JOIN `Table2` AS t2 ON t2.`DateTime` = t1.`DateTime`
      JOIN `Table3` AS t3 ON t3.`DateTime` = t1.`DateTime`

    This may be very slow depending on how many rows there are to copy from the tables.

  8. If you have multiple elements, you have to call the function multiple times. It could be done in a loop.

    var elements = document.getElementsByClassName("myClass");
    for(var i = 0; i < elements.length; i++) {


    • Thanks 1
  9. You'll have to learn to use the Canvas API.

    The simplest way to make a drawing application using canvas is to draw circles on each mousemove event while the mouse button is down, or on phones, using the touchstart, touchmove and touchend events.

    Once you managed to make a simple drawing application, then comes the difficult part: writing software to recognize shapes. There is an entire field of science dedicated to solving this one problem, it is not an easy task. It seems neural networks are the most common approach to solving it.


  10. This would take me hours.

    You have to replace all "\x##" in the strings the the ASCII character of that value. Then put line breaks on opening braces, closing braces and semi-colons. Then you have to indent all the code.

    Perhaps there are some automatic code deobfuscators out there but I've never looked for one.

    Why do you need to decode this? I'd sooner write new software from scratch then spend the time on this.

  11. 15 hours ago, Makwana Prahlad said:

    At first, you need to use a input[type=file] to get a File.


    <input type=file id=file/>
    <div id=result></div>

    And then use FileReader to read file to target format, just like base64, text, buffer.

    const file = document.getElementById('file').files[0]
    const result = document.getElementById('result')
    const reader = new FileReader
    reader.addEventListener('load', () => {
        result.innerHTML = reader.result
    reader.readAsText(file, 'UTF-8')

    See: https://developer.mozilla.org/en-US/docs/Web/API/FileReader

    If you read the thread instead of just the title, the question was regarding running Javascript from a local file.

  • Create New...