Не путать с CORS !
Вы не можете получить доступ к с разным началом с использованием JavaScript, это было бы огромным недостатком безопасности, если бы вы могли это сделать. Для браузеров того же происхождения блокируют сценарии, пытающиеся получить доступ к кадру с другим происхождением.
Происхождение считается другим, если не поддерживается хотя бы одна из следующих частей адреса:
://:/path/to/page.html
Протокол, имя хоста и порт должны быть одинаковыми для вашего домена, если вы хотите получить доступ к кадру.
Вот что произойдет, пытаясь получить доступ к следующим URL-адресам из http://www.example.com/home/index.html
URL RESULT
http://www.example.com/home/other.html -> Success
http://www.example.com/dir/inner/another.php -> Success
http://www.example.com:80 -> Success (default port for HTTP)
http://www.example.com:2251 -> Failure: different port
http://data.example.com/dir/other.html -> Failure: different hostname
https://www.example.com/home/index.html.html -> Failure: different protocol
ftp://www.example.com:21 -> Failure: different protocol & port
https://google.com/search?q=james+bond -> Failure: different hostname & protocol
-origin блокирует скрипты от доступа к содержимому сайтов с другим происхождением, если у вас есть обе страницы, вы можете обойти эту проблему, используя window.postMessage
и ее относительное message
событие для отправки сообщений между двумя страницами, например:
var frame = document.getElementById('your-frame-id');
frame.contentWindow.postMessage(/*any variable or object here*/, '*');
(см. основную страницу): window.addEventListener('message', function(event) {
// IMPORTANT: Check the origin of the data!
if (~event.origin.indexOf('http://yoursite.com')) {
// The data has been sent from your site
// The data sent with postMessage is stored in event.data
console.log(event.data);
} else {
// The data hasn't been sent from your site!
// Be careful! Do not use it.
return;
}
});
Этот метод может применяться в обоих направлениях, создавая слушателя на главной странице и получая ответы от фрейма. Та же логика также может быть реализована во всплывающих окнах и в основном в любом новом окне, создаваемом главной страницей (например, с использованием window.open()
), без какой-либо разницы.
Уже есть некоторые хорошие ответы на эту тему (я просто нашел их googling), поэтому для браузеров, где это возможно, ll ссылку относительный ответ. Однако помните, что отключение политики одного и того же происхождения (или CORS) повлияет только на на ваш браузер . Кроме того, при запуске браузера с настройками безопасности с одинаковым исходным кодом отключены доступ к веб-сайту для ресурсов с перекрестными источниками, поэтому он очень опасен и должен выполняться только для целей разработки.
Существует хороший GUI для редактирования опций, никакая потребность слоняться без дела в реестре.
Открывают C:\Program Files\Apache Software Foundation\Tomcat 6.0\bin\tomcat6.exe (или просто дважды щелкните по значку монитора в панели задач). Перейдите к области Java, добавьте следующее к списку аргументов и перезапустите Tomcat.
-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=8086 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false
Затем можно соединиться с JConsole или более новым VisualVM.
Вот предписанный путь к изменению jvmoptions & взаимодействие с сервисом:
http://tomcat.apache.org/tomcat-5.5-doc/windows-service-howto.html
я попытался бы войти в Ваш реестр в HKLM/Software/Apache Software Foundation/Procrun 2.0//Параметры/Java и отредактировать мультистроковое значение "Опций" непосредственно.
Если Tomcat работает как служба Windows, и вы хотите подключиться к JVM локально, вам необходимо запустить VisualVM или JConsole в качестве системной учетной записи. Для этого вы можете использовать Sysinternals PsExec.exe .
psexec.exe -i -s c:\visualvm\bin\visualvm.exe
Я отправляю его в основном для записи этой информации себе, я не проверял ее - но это тоже должно работать:
http://mysqlandsqlserver.blogspot.com/2010/02/jconsolejmap -and-tomcat-as-windows.html