Zoeken in Support

Vermijd ondersteuningsscams. We zullen u nooit vragen een telefoonnummer te bellen, er een sms naar te sturen of persoonlijke gegevens te delen. Meld verdachte activiteit met de optie ‘Misbruik melden’.

Meer info

Deze conversatie is gearchiveerd. Stel een nieuwe vraag als u hulp nodig hebt.

Funcions `loadOneTab` and `loadURI` in 2023 in Firefox Experimental API?

  • 2 antwoorden
  • 0 hebben dit probleem
  • 3 weergaven
  • Laatste antwoord van look997

more options

I am using the Experimental API in my private Firefox extension.

So far, I've been using Firefox 102 ESR, but I'm planning to switch to Firefox ESR 115. There's already a Firefox 115 Beta available, so I've started testing it with my private extension.

So far, I've been using internal Firefox functions like `loadOneTab` and `loadURI` and it worked very well.

I used the `loadOneTab` function like this:

``` const placesURL = "chrome://browser/content/places/places.xhtml"; window.gBrowser.loadOneTab( placesURL, { inBackground: false, allowThirdPartyFixup : true, relatedToCurrent : true, triggeringPrincipal : services.scriptSecurityManager.getSystemPrincipal() } ); ```

But the `loadOneTab` function no longer exists at all in Firefox's internal API. What should I replace it with?

I found the function `_createTab`:

``` // window.gBrowser._createTab({ uriString: placesURL }); ```

But the `_createTab` function returns an error:

``` Uncaught Error: UserInteraction with id "browser.tabs.opening" was not initialized ```

...I guess this is by security to make this function called only by user action? And I call this function inside `async function`.

Is it somehow possible to open a new tab from the Experimental API in Firefox 115 beta? I need this very badly. Really very much.

---

I used the `loadURI` function like this:

``` window.gBrowser.selectedBrowser.loadURI(linkGo, {triggeringPrincipal: Services.scriptSecurityManager.getSystemPrincipal()}); ```

The `loadURI` function appears to still be available in Firefox's internal API, but returns an error like this:

``` TypeError: 'uri' member of CancelContentJSOptions is not an object. RemoteWebNavigation.sys.mjs:28:41 ```

How to overcome this error?

I am using the Experimental API in my private Firefox extension. So far, I've been using Firefox 102 ESR, but I'm planning to switch to Firefox ESR 115. There's already a Firefox 115 Beta available, so I've started testing it with my private extension. So far, I've been using internal Firefox functions like `loadOneTab` and `loadURI` and it worked very well. I used the `loadOneTab` function like this: ``` const placesURL = "chrome://browser/content/places/places.xhtml"; window.gBrowser.loadOneTab( placesURL, { inBackground: false, allowThirdPartyFixup : true, relatedToCurrent : true, triggeringPrincipal : services.scriptSecurityManager.getSystemPrincipal() } ); ``` But the `loadOneTab` function no longer exists at all in Firefox's internal API. What should I replace it with? I found the function `_createTab`: ``` // window.gBrowser._createTab({ uriString: placesURL }); ``` But the `_createTab` function returns an error: ``` Uncaught Error: UserInteraction with id "browser.tabs.opening" was not initialized ``` ...I guess this is by security to make this function called only by user action? And I call this function inside `async function`. Is it somehow possible to open a new tab from the Experimental API in Firefox 115 beta? I need this very badly. Really very much. --- I used the `loadURI` function like this: ``` window.gBrowser.selectedBrowser.loadURI(linkGo, {triggeringPrincipal: Services.scriptSecurityManager.getSystemPrincipal()}); ``` The `loadURI` function appears to still be available in Firefox's internal API, but returns an error like this: ``` TypeError: 'uri' member of CancelContentJSOptions is not an object. RemoteWebNavigation.sys.mjs:28:41 ``` How to overcome this error?

Alle antwoorden (2)

more options

Hi

I recommend that you ask about this on the dedicated add-ons forum at:

https://discourse.mozilla.org/c/add-ons/35

more options

Gekozen oplossing