@@ -132,6 +132,18 @@ class Kunai {
132132 return "/"
133133 } ) ( )
134134
135+ // Determine the project website URL, which is assumed to be stored in
136+ // <meta name="twietter:url" content="..." /> or in <meta property="og:url"
137+ // content="..." />.
138+ const online_base_url = ( ( ) => {
139+ const meta = document . querySelector ( 'meta[name="twitter:url"]' ) || document . querySelector ( 'meta[property="og:url"]' )
140+ if ( meta && meta . content ) {
141+ const m = meta . content . toString ( ) . match ( / ^ h t t p s ? : \/ \/ [ ^ / ] * \/ / )
142+ if ( m ) return m [ 0 ]
143+ }
144+ return null
145+ } ) ( )
146+
135147 const database_url = ( ( ) => {
136148 // Determine the location of the database file "crsearch.json".
137149 const current_script = document . currentScript || document . querySelector ( 'script[src*="kunai/js/kunai.js"]' )
@@ -149,14 +161,9 @@ class Kunai {
149161 const url = url_kunai . replace ( / \b k u n a i \/ j s \/ k u n a i \. j s ( [ ? # ] .* ) ? $ / , "crsearch/crsearch.js" )
150162 if ( url != url_kunai ) return url
151163
152- // Try to download "crsearch.json" from the project website, which is
153- // assumed to be stored in <meta name="twietter:url" content="..." />
154- // or in <meta property="og:url" content="..." />.
155- const meta = document . querySelector ( 'meta[name="twitter:url"]' ) || document . querySelector ( 'meta[property="og:url"]' )
156- if ( meta && meta . content ) {
157- const m = meta . content . toString ( ) . match ( / ^ h t t p s ? : \/ \/ [ ^ / ] * \/ / )
158- if ( m ) return m [ 0 ] + "static/crsearch/crsearch.json"
159- }
164+ // Try to download "crsearch.json" from the project website.
165+ if ( online_base_url )
166+ return online_base_url + "static/crsearch/crsearch.json"
160167 }
161168
162169 // Try to determine the position of crsearch.json
@@ -173,7 +180,8 @@ class Kunai {
173180
174181 let crs = new CRSearch ( {
175182 onDatabase : this . onDatabase . bind ( this ) ,
176- base_url : dynamic_base_url
183+ base_url : dynamic_base_url ,
184+ online_base_url : online_base_url
177185 } )
178186 crs . database ( database_url )
179187
0 commit comments