| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- /*
- * This script is used to provide feedback if the demo is not working correctly on the local file system due to the same origin policy.
- */
- (function() {
- var msg = null;
- var msgTemplate = '<div style="border: 1px solid #ff6666; background: #ffcccc; padding: 30px;">' +
- '<h1>SVGInject not working correctly</h1>' +
- '<h2>Don\'t worry: It\'s most likely because you are running this on your local file system.</h2>' +
- '<p>SVGInject works very well in any browser when run with a web server.</p>' +
- '<p>Due to the same origin policy for some browsers (Chrome, Safari), SVGs can not be loaded when run on the file system.</p>' +
- '<h2>How to get this to work:</h2>' +
- '<ul style="font-size: larger;">' +
- '<li>Run this with a Web Server</li>' +
- '<li>Use a Firefox browser</li>' +
- '</ul>' +
- '<p>There are also other possible solutions (--allow-file-access-from-files flag in Chrome) you might want to look for to run this example on the file system.</p>' +
- '</div>';
- function createElementFromHTML(htmlString) {
- var div = document.createElement('div');
- div.innerHTML = htmlString;
- return div.firstChild;
- }
- function showMessage() {
- msg = createElementFromHTML(msgTemplate);
- document.body.insertBefore(msg, document.body.firstChild);
- }
- var req = new XMLHttpRequest();
- req.onreadystatechange = function() {
- if (req.readyState == 4) {
- // readyState is DONE
- var status = req.status;
- if (status == 200) {
- // request status is OK
- } else {
- showMessage()
- }
- }
- };
- var script = document.querySelectorAll("script[src$='xhr-check.js']")[0];
- req.open('GET', script.getAttribute('src'), true);
- req.send();
- })();
|