201 Matching Annotations
  1. Mar 2024
  2. Feb 2024
    1. building a robust Chrome extension that effortlessly captures full-page screenshots, providing users with a seamless and enhanced browsing experience.
    1. Open a new tab in your Chrome browser and type chrome://flags in the search field

      Access beta or secret features of Chrome browser family i.e. inc Brave

  3. Dec 2023
  4. Nov 2023
    1. <div itemscope itemtype="http://schema.org/Code"> ```js let db; const DBOpenRequest = window.indexedDB.open("toDoList", 4); DBOpenRequest.onsuccess = (event) => { db = DBOpenRequest.result; }; const transaction = db.transaction( ['toDoList'], 'readwrite', { durability: 'strict' }); ``` </div>
  5. Oct 2023
  6. Sep 2023
    1. Google claims this new API addresses FLoC’s serious privacy issues. Unfortunately, it does anything but. The Topics API only touches the smallest, most minor privacy issues in FLoC, while leaving its core intact. At issue is Google’s insistence on sharing information about people’s interests and behaviors with advertisers, trackers, and others on the Web that are hostile to privacy.
    1. If a site you visit queries the Topics API, it may learn of this interest from Chrome and decide to serve you an advert about bonds or retirement funds. It also means websites can fetch your online interests straight from your browser.

      The Topics API is worst than 3rd-parties cookies, anyone can query a user ad profile:

      ```js // document.browsingTopics() returns an array of BrowsingTopic objects. const topics = await document.browsingTopics();

      // Get data for an ad creative. const response = await fetch('https://ads.example/get-creative', { method: 'POST', headers: { 'Content-Type': 'application/json', }, body: JSON.stringify(topics) });

      // Get the JSON from the response. const creative = await response.json();

      // Display the ad. (or not) ```

  7. Aug 2023
    1. On-device ad auctions to serve remarketing and custom audiences, without cross-site third-party tracking.

      Naming a thing with a meaning opposite to what the named thing is...

      Google is insatiable when it regards to accessing users private data. Let's block that bullshit.

    1. Due to there being no good way to solve these issues, we know that many developers download Chromium (not Chrome) binaries instead, although this approach has some flaws. First, these Chromium binaries are not reliably available across all platforms. Second, they are built and published separately from the Chrome release process, making it impossible to map their versions back to real user-facing Chrome releases. Third, Chromium is different from Chrome.
  8. Jul 2023
    1. Adds "previousslide" and "nextslide" actions to the existing Media Session API.

      This will enable developers of video conferencing websites to handle these actions from browser UI. For example, if the user puts their slides presentation into a picture-in-picture window, the browser could display buttons for navigating through slides. When the user clicks those, the website handles them through the Media Session API.

    1. On any Web page run the following code

      js await startLocalServer(); let abortable = new AbortController; let {signal} = abortable; (await fetch('https://localhost:8443', { method: 'post', body: 'cat local_server_export.js', // Code executed in server, piped to browser duplex: 'half', headers: { 'Access-Control-Request-Private-Network': true }, signal })).body.pipeThrough(new TextDecoderStream()).pipeTo(new WritableStream({ write(v) { console.log(v); }, close() { console.log('close'); }, abort(reason) { console.log(reason); } })).catch(console.warn); await resetLocalServer();

  9. Jun 2023
  10. May 2023
    1. ```ts

      /* * Initiates a connection to the selected port. / async function connectToServer(): Promise<void> { hostInput.disabled = true; portInput.disabled = true; connectButton.textContent = 'Connecting...'; connectButton.disabled = true;

      try { socket = new TCPSocket(hostInput.value, parseInt(portInput.value)); connection = await socket.opened; term.writeln('<CONNECTED>'); connectButton.textContent = 'Disconnect'; connectButton.disabled = false; } catch (e) { console.error(e); term.writeln(<ERROR: ${e.message}>); markDisconnected(); return; }

      try { reader = connection?.readable.getReader(); for (;;) { const {value, done} = await reader.read(); if (value) { await new Promise<void>((resolve) => { term.write(value, resolve); }); } if (done) { break; } } reader.releaseLock(); reader = undefined; } catch (e) { console.error(e); term.writeln(<ERROR: ${e.message}>); }

      markDisconnected(); }

      /* * Closes the currently active connection. / async function disconnectFromServer(): Promise<void> { // Canceling |reader| will close the connection and cause the read loop in // connectToServer() to exit when read() returns with done set to true. if (reader) { await reader.cancel(); } } ```

  11. Apr 2023
  12. Mar 2023
  13. Feb 2023
    1. debían estarprotagonizados por extranjeros y tratar de cosas con las que no podía identificarme. Puesbien, la situación cambió cuando descubrí los libros africanos.No había muchos disponibles, y no eran tan fáciles de encontrar como los extranjeros.Pero gracias a escritores como Chinua Achebe y Camara Laye, mi percepción de laliteratura cambió. Comprendí que en la literatura también podía existir gente como yo,chicas con la piel de color chocolate cuyo pelo rizado no caía en colas de caballo.Empecé a escribir sobre asuntos que reconocía.5

      texto pdf

  14. Jan 2023
  15. Dec 2022
  16. Nov 2022
    1. Testing if Google Chrome can make annotations on this Auto Hotkey documentation page.

      It (and Brave) can't make highlights or annotations for some reason. The prompt doesn't appear when text is highlighted, why is this? Is there a way to force the prompt to appear?

  17. Oct 2022
  18. Aug 2022
    1. ```css .body, .wrapper { / Break the flow / position: absolute; top: 0px;

      / Give them all the available space / width: 100%; height: 100%;

      / Remove the margins if any / margin: 0;

      / Allow them to scroll down the document / overflow-y: hidden; } ```

    1. PWAs as URL Handlers was part of the capabilities project and support for the experimental url_handlers manifest member, documented below, is being phased out. The url_handlers manifest member is being replaced by the new handle_links manifest member, which is currently being standardized and implemented.
    1. For creating SXGs for testing purposes, you can create a self-signed certificate and enable chrome://flags/#allow-sxg-certs-without-extension to have your Chrome process the SXGs created with the certificate without the special extension.

      ```html

      <link rel="prefetch" href="https://your-site.com/sample.sxg" />

      Sample ```

  19. Jul 2022
    1. Rename the downloaded file to .zip and unpack it to a directory (you might get a warning about a corrupt zip header, but most unpacker will continue anyway) Go to Settings -> Tools -> Extensions Enable developer mode Click "Load unpacked extention" Browse to the unpacked folder and install your extention
  20. Jun 2022
  21. May 2022
  22. Apr 2022
  23. Feb 2022
  24. Jan 2022
    1. How do I move my mobile bookmarks to Chrome? Open the Chrome Bookmarks manager (Ctrl+Shift+O) and you will see a new folder called ‘Mobile bookmarks’. All your bookmarks from your Android phone and/or iPhone will be sorted inside this folder.
      • FIRST: in mobile: account: sync
      • SECOND: in PC: ADD profile: same account; sync
      • THIRD: in PC: Bookmark Manager: Mobile BM
    1. It's possible, but you have to be careful. Trying to require() a package means that node will try to locate its files in your file system. A chrome extension only has access to the files you declare in the manifest, not your filesystem. To get around this, use a module bundler like Webpack, which will generate a single javascript file containing all code for all packages included through require(). You will have to generate a separate module for each component of your chrome extension (e.g. one for the background page, one for content scripts, one for the popup) and declare each generated module in your manifest. To avoid trying to setup your build system to make using require() possible, I suggest starting with a boilerplate project. You can check out my extension to see how I do it.
      • REQUIRE
    1. If you open console you'll see XMLHttpRequest cannot load file:///.../nav.html. Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension, https. It's about browser politics. It works in Firefox, but not in Chrome. If you want it to work you may run a web server on your local machine to serve the files. More information: XMLHttpRequest cannot load file. Cross origin requests are only supported for HTTP "Cross origin requests are only supported for HTTP." error when loading a local file
      • LOCAL FILES from browser
    1. Try something like this (untested): var s=document.createElement('script'); s.type = "text/javascript"; s.src = "test.js"; document.body.appendChild(s); ShareShare a link to this answer Copy linkCC BY-SA 2.5 Follow Follow this answer to receive notifications answered Jul 5 '10 at 5:59 Dagg NabbitDagg Nabbit 70.9k1818 gold badges104104 silver badges139139 bronze badges 1 I modified it a bit: var s = w.document.createElement("script"); s.type = "text/javascript"; s.src = "test.js"; w.document.getElementsByTagName("HEAD")[0].appendChild(s); And it does appear to work properly in IE8 on Windows 7 (as well as other browsers). I still think IE has a bug that my original code doesn't work, but this should work as a work-around. – Jennifer Grucza Jul 6 '10 at 22:15
      • IT WORKED!
      • var w = window; var s = w.document.createElement("script"); s.type = "text/javascript"; s.src = "./file_to_include.js"; w.document.getElementsByTagName("HEAD")[0].appendChild(s);
    1. fcheslack January 9, 2012 Try now (you may have to force your browser to refresh without the cache with ctrl-shift-R)
      • TIP:
      • TEST
  25. Dec 2021
    1. First of all, Chromium bookmark adding menu was a bit shit and still is. You get to choose among the five most recently used folders only; if you want anything specific, you have to mouse click all the way through (using Tab on keyboard with my 100+ folders was just not doable). You can’t search when you add bookmark either. Yes, I know, it’s not meant for geeks, it’s for normal people who love mouseclicks. I’m still puzzled by how people who develop that stuff use their own product though.

      ok!

      • si se crea una tree-structure, luego es "incomodo" moverse, o no se "recuerda" donde estaba;
      • o se mete todo en una "bolsa de basura", XOR no se utilizan los bookmarks!
    1. stroom November 20, 2017 new Date().toLocaleDateString()"11/20/2017"

      Chrome: F12; console; m/d/y

      ???

  26. Nov 2021
    1. Could someone guide me how to set up chromedriver with selenium using chromium flatpak properly? I can't seem to find any tutorial doing it like this... I never had issues with chromedriver using the "old" sudo apt way and I also got it working using snapd. But since I am using Pop!_OS I'd like to just use flatpaks if there is no sudo apt repo.
    1. The answer is No. You have to have the chrome application inside your computer. However, you do not need t install it. It will work with any portable Chrome versions as well. You simply have to point to the chrome executable location during tests.
    1. You’ll see something like this: PDF fcfbb33577a82236301d15889a77df36 [1.3 Mac OS X 10.12.3 Quartz PDFContext / Adobe InDesign CS2 (4.0.5)] (PDF.js: 1.1.215)

      (Spanish) Este mensaje aparece al activar el icono de H.is en la solapa del PDF La clave, NO COINCIDE con el internalid del body, sin activar H.is

    2. Select More Tools -> Developer Tools -> Console

      (Spanish) Pulsar F12 En "Console" no aparece En "Elements" <body>: name="" internalid=""

    3. Load the PDF into Chrome (e.g. by dragging it from your computer’s file viewer into Chrome)

      (Spanish) Solo funciona si Chrome configurado asi: Settings--Site Settings--Additional Permissions--PDF documents--Download instead opening=OFF Tip: En Seetings: buscar PDF en casilla busqueda

  27. Oct 2021
    1. We will also show you how to de-link your Chrome profile from your Google account(s) by stopping Chrome from syncing with Google in the first place. This will help keep your Chrome profile separate from your Google account and enhance your online privacy.
    2. To do that, Chrome automatically links your Chrome profile to a Google account when you sign in to any Google service on the web. That helps Google deliver a ‘seamless experience’ across all devices by letting you sync your history, bookmarks, passwords, etc., across multiple devices. Meanwhile, privacy-conscious users see this as a major threat to their online privacy and advise users to remove their Google account from Chrome.
    3. As mentioned already, Chrome automatically signs you in to your Google account every time you sign into a Google service, like Gmail, YouTube, Google Photos, etc. It also links your current Chrome profile to that account. While Google says that it does so to offer a ‘seamless experience’, it is a privacy nightmare for many users.
    1. Some Chrome users may like the new functionality as it makes it easier for them to sign in or out of Chrome and Google on the Web. Others may dislike it for privacy and user-choice reasons. Think about it, if you sign in to Chrome you are automatically recognized by any Google property on the web as that Google user.
  28. Sep 2021
    1. Then I noticed in the extension details that the "Source" was listed as the location of the "bypass-paywalls-chrome-master" file. I reasoned that the extension would load from there, and I think it does at every browser start-up. So before I re-installed it, I moved the source folder to a permanent location and then dragged it over the extensions page to install it. It has never disappeared since. You need to leave the source folder in place after installation.

      Solution to "Chrome automatically deleting unwanted extensions" :)

  29. Aug 2021
    1. Mainchini is a clever looking Chrome extension that does spaced repetition for learning Japanese by showing words every time one opens a new browser tab.

  30. Jul 2021
    1. This looks like a bookmarking service that is billing itself as a digital commonplace book. I'm not sure about the digital ownership aspect, but it does have a relatively pretty UI.

      Looks like it works via a Chrome extension: https://chrome.google.com/webstore/detail/commonplaces-your-digital/ckiapimepnnpdnoehhmghgpmiondhbof

  31. Jun 2021
  32. May 2021
  33. Apr 2021
  34. Mar 2021
  35. Feb 2021
  36. Jan 2021
  37. Dec 2020
  38. developer.mozilla.org developer.mozilla.org
    1. In a browser, the chrome is any visible aspect of a browser aside from the webpages themselves (e.g., toolbars, menu bar, tabs). This is not to be confused with the Google Chrome browser.
  39. Oct 2020
    1. Using the keyboard arrows, navigate down the suggestion list to the item(s) you want to remove from the Chrome autofill suggestions With the suggestion highlighted, use the appropriate keystroke sequence to delete the Chrome suggestion:

      Linux: Shift + Delete

  40. May 2020
    1. The context menu will have three options; Normal Reload, Hard Reload, and Empty Cache and Hard Reload. The third option is what you’re looking for. Click ‘Empty Cache and Hard Reload’ to clear the cache for a particular website.
    1. After opening up the developer tools (usually by pressing F12) Click + Hold on the "Reload Page" button. From the popup list, choose "Empty Cache and Hard Reload".
  41. Apr 2020
    1. If you are signed in to Chrome with the a Google account and try to sign it to that Google account on a web page, Chrome will not offer to save that password.

      You have to "disconnect" your Google Account from Chrome, which to me is an unfortunate workarounds.

      They should just give the option to people who want to both have the accounts connected and save that password.

    1. Open Command tool and search for coverage

      Checking CSS coverage inside Chrome Dev Tools:

      1. [F12] (open up dev tools)
      2. Click the 3 dots next to "x"
      3. "More tools" > "Coverage"
  42. Mar 2020
    1. When joining a Zoom meeting, the "join from your browser" link is intentionally hidden. This browser extension solves this problem by transparently redirecting any meeting links to use Zoom's browser based web client.

      Using this extension means one won't be affected by the tracking that occurs via Zoom's apps for desktop and mobile devices.

  43. Feb 2020
  44. Dec 2019
  45. Nov 2019
    1. Knowing the "risk", I was very happy to find this post (and the comments for the actual keyword). I didn't want more than read two frickin' paragraphs. I did not intend to give any personal details, payment information or whatever. Maybe there was a man in the middle and the information displayed had been altered - so what? "There's someone wrong on the internet" - nothing more. I have to check if the information I get from the site is plausible, that's part of my job. There was no "risk". I, as an informed user, should always have the possibility to access sites like that. The keyword-thing makes this harder for simple FaceTube-Clickers, and for a good reason, but I think it is a good solution, given my example.

      "The TLDR; is that it stops users from clicking through security warnings"

      So it's a restriction on users. As a user, I cannot accept that. It's war against ME.

    1. "While we hope that Google will lift these unwarranted sanctions for AdNauseam, it highlights a much more serious problem for Chrome users," the AdNauseam team adds. "It is frightening to think that at any moment Google can quietly make your extensions and data disappear, without so much as a warning."
  46. Oct 2019
    1. In Chrome browser, open Developer Tools and select Elements tab, then open the contextual menu of the parent node of the element you want to inspect, in the contextual menu click on Break on > Subtree modifications. Afterwards you just need to click on the page and you'll get on the inspector without losing focus or losing the element you want to inspect.
    2. (() => { debugger; }, 5000)
  47. Feb 2019
  48. Jan 2019
  49. Nov 2018
  50. Oct 2018
  51. Mar 2018
  52. Nov 2017
    1. Note that Speak the Words only works in Chrome. 

      Ugh! Conceivably, it also works in Chromium. But this is the kind of thing which really changes the way a feature is used.

  53. Sep 2017
    1. When multiple tabs consume your application and you need to have a common gateway for the interaction.

      eg : an application which shows total number of mouse clicks through all tabs, in all of them.

    2. Background pages are the controllers of our application and exist through all the time our application is alive. They can be consumed by any tab at any time as long as the Background Page has registered an event listener

      what's meant by registering an event listener by bg process?

    3. An extension "registers" callbacks to Chrome for a specific situation given you described a specific interface to do so

      can some one elaborate on this? ty

  54. Jun 2017
    1. For some reason, no one ever seems to thing of this... but it has always worked for me... Have you tried unchecking Use hardware acceleration when available at the bottom of chrome://settings/ (advanced area)?

      This worked for me when Chrome was freezing every time I loaded a page. I was seriously worried I had a rootkit or key logger that I couldn't detect!

  55. Jun 2016
  56. Apr 2016
    1. this app DOES NOT do

      History Trends

      • Chrome Web Store google.com pmP site directo procurar

      History Trends Unlimited - Chrome Web Store google.com pmP site directo procurar11 chromea14.1_d3ext

    2. Type “dh” and hit the “tab” key to enter Deep History search mode. Then type in search terms and Deeper History will search pages you have visited for those terms and return matching pages right there in your browser bar, just like google search.
  57. Mar 2016
    1. What about extensions for other browsers? We’re working on that. The next supported browser is likely to be Firefox.

      I'm writing this note in... Safari!

      I thought hypothes.is could only work with the Chrome applet.

      Still looking for a way to use hypothes.is from a tablet.

  58. Jan 2016
  59. Oct 2015
    1. The temporary solution we found is to wrap chrome.* api callback with setTimeout() function. In that case errors thrown within chrome.* api call are passed to window.onerror with correct line number. Example:

      Wrapping all the chrome.* async API calls such that exceptions in the callback result in an error being logged to a handler that we control looks like the way to go.

    2. In Chrome extensions, errors thrown in callbacks for async APIs do not trigger the global window.onerror handler.