Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Помогите с <iframe> блокировкой клика (https://javascript.ru/forum/dom-window/29679-pomogite-s-iframe-blokirovkojj-klika.html)

MVS 07.07.2012 04:52

Помогите с <iframe> блокировкой открытия
 
Здравствуйте! В ходе создания сайта возникла проблема которую не могу решить, я использую <iframe> и задача такая, чтоб в окне <iframe> пользователь не смог перейти по ссылке вне <iframe>, то есть страница не открывалась в новой вкладке отдельно, и нельзя было скопировать адрес на ресурс находящийся в <iframe>.
Оптимальное решение заблокировать правую кнопку мышки и выделение-копирование текста.
Я использовал скрипт запрета - работает по всей странице кроме окна <iframe> - в окне <iframe> делай что хочешь!
Господа программисты, кто сталкивался с подобной ситуацией, помогите!!
ВОТ ПОЛНЫЙ КОД:

<style>
#mr { width:100%; height:900px;align: right;}
</style>

<div style="position: relative; width: 100%; height: 900px;">
<div style="left:0px; background: #708090; position: absolute; z-index: 2; width: 258px; height: 900px;"></div>
<div style="right:0px; background: #708090; position: absolute; z-index: 3; width: 275px; height: 900px;"></div>
<div style="background: #708090; position: absolute; z-index: 5; width: 100%; height: 159px;"></div>
<div style="background: #708090; position: absolute; z-index: 4; width: 99%; bottom: 0; height: 87px; "></div>
<div style="margin-top: 0px; z-index: 1; position: relative;">

<script type="text/javascript">
document.ondragstart = test;
document.onselectstart = test;
document.oncontextmenu = test;
function test() { return false; }
document.oncontextmenu;
function catchControlKeys(event){
var code=event.keyCode ? event.keyCode : event.which ? event.which : null;
if (event.ctrlKey){
// Ctrl+U
if (code == 117) return false;
if (code == 85) return false;
// Ctrl+C
if (code == 99) return false;
if (code == 67) return false;
// Ctrl+A
if (code == 97) return false;
if (code == 65) return false; }}
</script>

<iframe id="mr" frameborder="no" src="http://www.microtron.zp.ua/goods#i">
Ваш браузер не поддерживает плавающие фреймы!
</iframe>

</div>
</div>

PS: Хостинг от Ucoz. Для наглядности вот адрес сайта: http://citicom.at.ua/
:help:

vadim5june 07.07.2012 09:20

у iframe свое windows к которому вы не имеете доступа и не можете ничего заблокировать

Deff 07.07.2012 11:20

MVS,
1. вставьте фрейм полным рамером (он у Вас 666px на 3007px в div с position:relative;
2. Оберните этот div еще одним с размерами нужного вам окна просмотра и overflow-y: auto;
3. Прямо прмо перед фреймом вставьте прозрачную однопиксельную gif-картинку с размерами 100% Х 100% position:absolute;z-index:100;

MVS 07.07.2012 12:19

Да, но:
пользователь должен иметь возможность внутри фрейма просматривать весь товар имеющийся на сайте который внутри фрейма, то есть, левая кнопка должна кликать по товару, а правая нет, ведь все нарушения происходят именно из-за правой (открыть ссылку в новом окне / открыть в новой вкладке / скопировать адрес сайта и т.д)
Как реализовать только левую активную кнопку мышки?

Deff 07.07.2012 12:23

MVS,
Вы сделайте - а проникать по левой - сквозь свою картинку - уже проще

Вообще вру - выделить текст - наверняка не удастся - ищите в инете кроссдоменный аякс для get запросов

MVS 07.07.2012 12:37

Направьте пожалуйста в правильное русло - как проникнуть сквозь картинку? Первое условие с полупрозрачной картинкой выполнил
вот http://citicom.at.ua/
Как быть дальше?

Deff 07.07.2012 12:42

Цитата:

Сообщение от MVS
Как реализовать только левую активную кнопку мышки?

Никак - посколь Окно другое - не с Вашего домена

Deff 07.07.2012 12:43

Цитата:

Сообщение от MVS
Первое условие с полупрозрачной картинкой выполнил

Гы - криво сделали - ну да фиг сым - потестировал - если клик еще можем передать - то выделение текста сквозь - не удается
Цитата:

Сообщение от Deff
ищите в инете кроссдоменный аякс(jQuery) для get запросов

И вставляйте им полный контент фрейма

Или проксируйте на сервере (серверным запросом на свою страницу, а эту страницу вставляете уже к себе

vadim5june 07.07.2012 12:46

Цитата:

Сообщение от Deff (Сообщение 186979)
Никак - посколь Окно другое - не с Вашего домена

А с нравственной точки зрения хорошо ли пытаться помочь людям воровать чужой контент-выход один договариваться с владельцами домена

MVS 07.07.2012 13:19

Подскажите как это реализовать?
очень нужно, я являюсь партнером этого сайта, а прайсы постоянно делать очень долго - частое изменение товара, а так дал адрес сайта( уже своего), потребитель выбрал товар - пришел ко мне и заказал - а так пойдет к ним напрямую.

Нашел похожую тему http://javascript.ru/forum/dom-windo...j-vkladke.html реализация мне не понятна, опишите пожалуйста более подробно.
У кого есть еще какие нибудь мысли?
Жду вашей помощи!


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