If you have the "Babeltheque" system preference enabled but the "Babeltheque_url_js" preference is empty, the template will generate an empty <script> tag. This triggers a warning in the browser console.
Created attachment 134635 [details] [review] Bug 30689: Incorrect Babeltheque setting can cause console warning This patch adds an additional system preference check to the part of the OPAC bibliographic detail template which conditionally loads Babelthèque JavaScript. The script tag should not be output if there is no Babeltheque_url_js setting to use. To test, apply the patch and search for "Babeltheque" in system preferences. - Set "Babeltheque" to "Do" include information. - Enter a path in the "Babeltheque_url_js" preference, e.g. "https://www.example.com/example.js" It doesn't have to be a valid Babeltheque URL. - In the OPAC, view the bibliographic detail page for any title. If you used a dummy URL for the js preference you should see an error in the console about the file not being found. This confirms that the template logic is working. If you used a working Babeltheque URL then the corresponding content should load. - Return to system preferences and remove the URL from the "Babeltheque_url_js" preference. - Return to the bibliographic detail page in the OPAC and confirm that there is no warning in the console about "'src' attribute of <script> element is empty."
Created attachment 134773 [details] [review] Bug 30689: Incorrect Babeltheque setting can cause console warning This patch adds an additional system preference check to the part of the OPAC bibliographic detail template which conditionally loads Babelthèque JavaScript. The script tag should not be output if there is no Babeltheque_url_js setting to use. To test, apply the patch and search for "Babeltheque" in system preferences. - Set "Babeltheque" to "Do" include information. - Enter a path in the "Babeltheque_url_js" preference, e.g. "https://www.example.com/example.js" It doesn't have to be a valid Babeltheque URL. - In the OPAC, view the bibliographic detail page for any title. If you used a dummy URL for the js preference you should see an error in the console about the file not being found. This confirms that the template logic is working. If you used a working Babeltheque URL then the corresponding content should load. - Return to system preferences and remove the URL from the "Babeltheque_url_js" preference. - Return to the bibliographic detail page in the OPAC and confirm that there is no warning in the console about "'src' attribute of <script> element is empty." Signed-off-by: David Nind <david@davidnind.com>
Testing notes (koha-testing-docker): - Warning message in browser console before patch applied: ‘src’ attribute of <script> element is empty. - There was then an empty script tag in the browser source file for the page: <script src=" "></script> - This was just after this text in the browser source file: <div class="babeltheque_adds"> <div id="BW_critiques_aj"></div> <div id="BW_citations_aj"></div> </div> - When patch applied, these were the console error messages: . GET https://www.example.com/example.js [HTTP/2 404 Not Found 1554ms] . Loading failed for the <script> with source “https://www.example.com/example.js”.
Created attachment 134944 [details] [review] Bug 30689: Incorrect Babeltheque setting can cause console warning This patch adds an additional system preference check to the part of the OPAC bibliographic detail template which conditionally loads Babelthèque JavaScript. The script tag should not be output if there is no Babeltheque_url_js setting to use. To test, apply the patch and search for "Babeltheque" in system preferences. - Set "Babeltheque" to "Do" include information. - Enter a path in the "Babeltheque_url_js" preference, e.g. "https://www.example.com/example.js" It doesn't have to be a valid Babeltheque URL. - In the OPAC, view the bibliographic detail page for any title. If you used a dummy URL for the js preference you should see an error in the console about the file not being found. This confirms that the template logic is working. If you used a working Babeltheque URL then the corresponding content should load. - Return to system preferences and remove the URL from the "Babeltheque_url_js" preference. - Return to the bibliographic detail page in the OPAC and confirm that there is no warning in the console about "'src' attribute of <script> element is empty." Signed-off-by: David Nind <david@davidnind.com> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Pushed to master for 22.05, thanks to everybody involved [U+1F984]