]> git.openstreetmap.org Git - rails.git/commitdiff
Use fetch() instead of iframe to make remote control requests
authorAnton Khorev <tony29@yandex.ru>
Thu, 20 Oct 2022 12:29:57 +0000 (15:29 +0300)
committerAnton Khorev <tony29@yandex.ru>
Wed, 4 Dec 2024 09:30:19 +0000 (12:30 +0300)
app/assets/javascripts/index.js
app/controllers/application_controller.rb

index c419f93216b44507f4aed454b01792feba3744e9..9df0f0ad5a432b34be12258c6ead602362fa05d0 100644 (file)
@@ -255,20 +255,10 @@ $(document).ready(function () {
     });
 
     function sendRemoteEditCommand(url, callback) {
-      var iframe = $("<iframe>");
-      var timeoutId = setTimeout(function () {
-        alert(I18n.t("site.index.remote_failed"));
-        iframe.remove();
-      }, 5000);
-
-      iframe
-        .hide()
-        .appendTo("body")
-        .attr("src", url)
-        .on("load", function () {
-          clearTimeout(timeoutId);
-          iframe.remove();
-          if (callback) callback();
+      fetch(url, { mode: "no-cors", signal: AbortSignal.timeout(5000) })
+        .then(callback)
+        .catch(function () {
+          alert(I18n.t("site.index.remote_failed"));
         });
     }
 
index 7ce804ced01af000ada0560ee4f27f99046618ac..d46a682151badf37fe1e80b749e8683939609fd8 100644 (file)
@@ -253,9 +253,7 @@ class ApplicationController < ActionController::Base
   def map_layout
     policy = request.content_security_policy.clone
 
-    policy.child_src(*policy.child_src, "http://127.0.0.1:8111", "https://127.0.0.1:8112")
-    policy.frame_src(*policy.frame_src, "http://127.0.0.1:8111", "https://127.0.0.1:8112")
-    policy.connect_src(*policy.connect_src, Settings.nominatim_url, Settings.overpass_url, Settings.fossgis_osrm_url, Settings.graphhopper_url, Settings.fossgis_valhalla_url)
+    policy.connect_src(*policy.connect_src, "http://127.0.0.1:8111", Settings.nominatim_url, Settings.overpass_url, Settings.fossgis_osrm_url, Settings.graphhopper_url, Settings.fossgis_valhalla_url)
     policy.form_action(*policy.form_action, "render.openstreetmap.org")
     policy.style_src(*policy.style_src, :unsafe_inline)