Javascript-форум (https://javascript.ru/forum/)
-   Javascript под браузер (https://javascript.ru/forum/css-html/)
-   -   DOM доступ js в страницу во фрейме (https://javascript.ru/forum/css-html/74852-dom-dostup-js-v-stranicu-vo-frejjme.html)

Brick 12.08.2018 11:08

DOM доступ js в страницу во фрейме
 
Как получить доступ js,к DOM странице,во фрейме?

ksa 13.08.2018 10:55

Цитата:

Сообщение от Brick
Как получить доступ js,к DOM странице,во фрейме?

Как вариант...
http://javascript.ru/forum/misc/1810...-k-iframe.html

https://learn.javascript.ru/iframes

Brick 13.08.2018 16:55

Вот нашёл:
Политика безопасности браузера не позволяет получать доступ к dom или js для разных доменов.
Для одного - пожалуйста.
.html на диске D:\ и страница с сервера имеют разные домены.
Потому не работало.

если в фрейме ссылка: qwe.html - работать будет,а если там src="www.site.ru" - работать не будет?

Brick 13.08.2018 16:57

если фрейм такой:
<iframe src="www.site.ru"/>

то никак нельзя доступ получить к DOM?
может есть какой-то способ,обмануть браузер, что домены одинаковые :(

Brick 13.08.2018 16:57

ksa,
помогите пожалуйста

Nexus 13.08.2018 17:03

Цитата:

Сообщение от Brick
может есть какой-то способ,обмануть браузер, что домены одинаковые

Проксируйте запросы.
<iframe src="/my-proxy?url=www.site.ru"/>

Aetae 13.08.2018 17:10

Если сайт не чужой - то вы можете на стороне сайта разрешить взаимодействие.
Если вы пишете для себя - можете воспользоваться ююзерскриптами.

Brick 13.08.2018 18:20

Aetae,
сайт чужой.
юзерскрипты использую,но проблема следующая они работают только в opera mobile (clasic) :(

Brick 13.08.2018 18:21

Nexus,
проксировать запросы - это как? что это?не знаком с этим :(

Brick 13.08.2018 18:24

Nexus,
<iframe src="/my-proxy?url=http://www.site.ru"/>
- не работает,не с http,ни без
:(

Brick 13.08.2018 18:31

вот что-то нашёл:http://javascript.ru/ajax/cross-domain-scripting
а если проще.
нужно,чтоб в iframe другого домена, js имел DOM доступ

Alexandroppolus 13.08.2018 18:32

Цитата:

Сообщение от Brick (Сообщение 492531)
Aetae,
.
юзерскрипты использую,но проблема следующая они работают только в opera mobile (clasic) :(

А тебе в каком надо? Обычно для юзерскриптов требуется расширение поставить - какой-нибудь ***monkey в зависимости от браузера

Brick 13.08.2018 18:35

допустим есть страница qwe.html, она находится на /sdcard/
в данной странице есть <iframe src="http://www.site.ru"/> и js-скрипт который будет нажимать на кнопку на сайте www.site.ru.
Как js-скрипту открыть DOM доступ?

Brick 13.08.2018 18:36

Alexandroppolus,
я их на андроида использую, это больше автокликеры)

Brick 13.08.2018 18:38

Alexandroppolus,
habit браузер на андроид - знаете такой?в нём пользовательские скрипты не работают
https://4pda.ru/forum/index.php?showtopic=446121
opera clasic хороша,но тут есть прокси :)

Тут есть пользовательские сценарии,но при загрузке страницы,выполняет 1раз и слетает :(
скрипт верный, в opera mobile - работает ведь .

Alexandroppolus 13.08.2018 18:42

https://yandex.ru/search/touch/?text...0&lr=213&mda=0

Brick 13.08.2018 20:09

Alexandroppolus,
через фрейм никак нельзя, проксирование ...?

Aetae 13.08.2018 20:55

Brick, сказали же - никак. Одной странице нельзя трогать другую страницу, если та не с того же домена. Безопасность.
Тебе надо смотреть в другую сторону. Юзер скрипты, скрипты для андроида, своё андроид приложение итд.

Brick 13.08.2018 21:35

Aetae,
спасибо, никак не обойти безопасность?говорили про проксирование

Brick 13.08.2018 21:36

Aetae,
Вы с юзер скриптами знакомы? Всё что я про них нашёл это пару деректив и то что в них работают любые js библиотеки :)

Brick 13.08.2018 21:38

Подождите, а как же это:
http://javascript.ru/ajax/cross-origin-2

Brick 13.08.2018 21:39

Jquery и ajax это что?
DOM - что это? DOM- код станицы,её теги?

Brick 13.08.2018 22:02

Любые кроссдоменные модификации DOM запрещены.
почему?это сделано для того чтоб пароли не воровать на js?

Brick 13.08.2018 22:07

Вот нашёл вариант:Нельзя получить доступ к содержимому iFrame другого домена. Это политика безопасности на уовне движка JS в браузерах.
Но! Есть два варианта как это сделать.

Первое:
«Access-Control-Allow-Origin:*» — это должно быть, если мне не изменяет память, на том сайте к которому обращается скрипт. Звезду заменить на путь к странице на которой айфрейм (сработает только если Apache)
(читать тут: http://javascript.ru/ajax/cross-origin-2)

Второе: На худой конец, если уж очень надо. То запустите хром с флагом «disable-web-security». На маке это выглядит так:
open -a Google\ Chrome --args --disable-web-security
На PC соответственно будет что-то типа chrome.exe -disable-web-security (не проверял гуглите)

Есть небольшая заметка. Если вы запускаете страницу на локалке без сервера, то будет облом даже с Access-Control-Allow-Origin и никак не получить. Попробуйте поставить Денвер или что-то подобное и запустите с него.

https://ru.m.wikipedia.org/wiki/Cros...source_sharing

Brick 13.08.2018 22:26

https://threatpost.ru/microsoft-edge...e-theft/27599/
что если взять,старую версию microsoft edge

j0hnik 14.08.2018 00:10

Цитата:

Сообщение от Brick
спасибо, никак не обойти безопасность?

Даже если и можно, количество времени и сил потраченное на поиски решения вас не обрадует.

j0hnik 14.08.2018 00:12

Цитата:

Сообщение от Brick
Jquery и ajax это что?
DOM - что это? DOM- код станицы,её теги?

море же информации, зачем лишние сущности плодить?

Brick 14.08.2018 00:15

j0hnik,
можно или нельзя?


Часовой пояс GMT +3, время: 11:07.