diff --git a/package.json b/package.json index 73666fac..af5ac268 100755 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "app", - "version": "5.6.66", + "version": "5.6.67", "description": "All-in-one bookmark manager", "author": "Rustem Mussabekov", "license": "MIT", diff --git a/src/modules/format/url/index.js b/src/modules/format/url/index.js index 6ab9aed8..702eaa0a 100644 --- a/src/modules/format/url/index.js +++ b/src/modules/format/url/index.js @@ -1,2 +1,3 @@ export * from './getDomain' -export * from './normalizeURL' \ No newline at end of file +export * from './normalizeURL' +export * from './isSPA' \ No newline at end of file diff --git a/src/modules/format/url/isSPA.js b/src/modules/format/url/isSPA.js new file mode 100644 index 00000000..2f7acda8 --- /dev/null +++ b/src/modules/format/url/isSPA.js @@ -0,0 +1,7 @@ +export function isSPA(url) { + try { + return new URL(url).hash.includes('/') + } catch { + return false + } +} \ No newline at end of file diff --git a/src/target/extension/background/links.js b/src/target/extension/background/links.js index 14b15009..9935faf9 100644 --- a/src/target/extension/background/links.js +++ b/src/target/extension/background/links.js @@ -1,5 +1,5 @@ import browser from 'webextension-polyfill' -import { normalizeURL } from '~modules/format/url' +import { normalizeURL, isSPA } from '~modules/format/url' import Api from '~data/modules/api' import debounce from '~modules/format/callback/debounce' import * as action from './action' @@ -14,7 +14,7 @@ var loading = false function simplifyURL(url) { return normalizeURL(url, { - stripHash: !new URL(url).hash.includes('/'), //do not strip hash when it seems an SPA + stripHash: !isSPA(url), //do not strip hash when it seems an SPA stripWWW: true, removeQueryParameters: [ //tracking