Javascript-форум (https://javascript.ru/forum/)
-   Библиотеки/Тулкиты/Фреймворки (https://javascript.ru/forum/library-toolkit-framework/)
-   -   Возможно ли чтоб страница открываемая в Iframe НЕ ПОЛУЧАЛА реферер ? (https://javascript.ru/forum/library-toolkit-framework/28930-vozmozhno-li-chtob-stranica-otkryvaemaya-v-iframe-ne-poluchala-referer.html)

deanisa 07.06.2012 16:18

Возможно ли чтоб страница открываемая в Iframe НЕ ПОЛУЧАЛА реферер ?
 
О гуру JavaScript , к Вам обращаюсь я
если не сложно, помогите начинающей програмистке :help:

что требуется -

есть HTML файл

в нем Ифрейм, в ифрейме, соответственно, при обращении браузера к первому, тоже загружается HTML файл

Возможно ли сделать так, чтоб HTML страница открываемая в Iframe НЕ ПОЛУЧАЛА в качестве реферера ТОГО, с кем она открывается,

мож как то по другому вообще это реализовать ?

а в идеале - чтоб можно было вместо настоящего реферера подставить в качестве реферера любой другой, хоть google например ?

просьба сильно не пинать, если чего не так спросила
ибо - ньюбы мы дремучие ... :cray:

Deff 07.06.2012 16:24

Цитата:

Сообщение от deanisa
ифрейме, соответственно, при обращении браузера к первому, тоже загружается HTML файл

Фраза не оч понятна..
Что и откуда и какая команда
Из главного Окна или фрейма..
Вид указания, или деяния, которое меняет сейчас контент в iframe
Что при этом происходит на главной

deanisa 07.06.2012 18:13

Цитата:

Сообщение от Deff (Сообщение 179808)
Фраза не оч понятна..
Что и откуда и какая команда
Из главного Окна или фрейма..
Вид указания, или деяния, которое меняет сейчас контент в iframe
Что при этом происходит на главной

попробую просто показать,
есть index.html, он содержит -

<html>
<head>
<title></title>
</head>

<body>


<iframe src ="target.html" width="10" height="20" scrolling="0"</iframe>


</body>
</html>


к нему обращается браузер по УРЛ, ну там, ненаю,
допустим http://www.vasia.ru

при обращению браузера к index.html, соответственно одновременно с ним в браузер загружается и target.html который в ифрейме.

если в target.html вставить любой счетчик, ну типа StatCounter, Liveinternet и т.п., то в статистике реферером у target.html всгда будет УРЛ - http://www.vasia.ru, где лежит index.html в котором прописан ифрейм.

вопрос - можно ли как то что то сделать, чтоб target.html НЕ ПОЛУЧАЛ реферером http://www.vasia.ru, а в идеале, чтоб можно было бы этот реальный УРЛ заменить на любой другой, на http://www.petia.ru например ...

B@rmaley.e><e 07.06.2012 18:34

Нет, нельзя.

Можно завести "локальный прокси", который будет подгружать желаемую страничку, постав ему нужный реферер, но это будет не загрузка другого сайта во фрейме, а загрузка своей странички с содержимым другого сайта.

Deff 07.06.2012 18:42

Цитата:

Сообщение от deanisa
target.html

Данный фрейм имплантировать в другой фрейм в котором мы сами устанавливаем адрес скриптом

deanisa 09.06.2012 13:35

Спасибо всем кто откликнулся

Цитата:

Сообщение от Deff (Сообщение 179897)
Данный фрейм имплантировать в другой фрейм в котором мы сами устанавливаем адрес скриптом

уважаемый Deff
если возможно, дайте пример HTML и JavaScript

спасибо заранее,
ну такие вот мы индусы ...
без примера пока никак :)

Deff 09.06.2012 14:10

jQuery
<script type="text/javascript" src="http://yandex.st/jquery/1.4.4/jquery.min.js"></script>
<!--Пустой Iframe-->
<iframe id='ChangeAddr' src ="" width="10" height="20" scrolling="0"</iframe>'
<script>
var IFRAME='<iframe src ="target.html" width="10" height="20" scrolling="0"</iframe>'
//1.Выставляем фрейму-обрамлению произвольный  Адрес(с нашего домена)
var NewAdr='../My_Page/';
$('#ChangeAddr').attr("src",NewAdr)
//2.Имплантируем внутрь фрейм счетчика
$('#ChangeAddr').contents().find("body").append(IFRAME);
</script>

deanisa 20.06.2012 21:26

чего то у меня не идёт ...
 
Уважаемый DEFF

спасибо за Ваш ответ
но только у меня чего то не получается ...

я поместила Ваш скрипт следующим образом -

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1250">
<title> </title>
</head>
<body>

<script type="text/javascript" src="http://yandex.st/jquery/1.4.4/jquery.min.js"></script>

<!--Пустой Iframe-->

<iframe id='ChangeAddr' src ="" width="100" height="200" scrolling="0"</iframe>

<script>
var IFRAME='<iframe src ="http://www.domen.org/" width="100" height="200" scrolling="0"</iframe>'
//1.Выставляем фрейму-обрамлению произвольный  Адрес (с нашего домена)
var NewAdr='../My_Page/';
$('#ChangeAddr').attr("src",NewAdr)
//2.Имплантируем внутрь фрейм счетчика
$('#ChangeAddr').contents().find("body").append(IFRAME);
</script>

</body>
</html>


сразу скажите, правильно или нет ?

и мне совсем не понятно фраза -
Выставляем фрейму-обрамлению произвольный Адрес (с нашего домена)

если можно, пример , как для индусов ... :)

еще раз приношу извинения за свою навязчивость и тормознутость
спасибо

Deff 20.06.2012 22:38

deanisa,
Да на вид вродь всё так - а чо - сложно проверить ?
Если траблы - дайте ссылку на тестовую страницу, посколь счетчики обычно привязаны к доменам

melky 20.06.2012 22:43

Цитата:

Сообщение от Deff (Сообщение 179897)
Данный фрейм имплантировать в другой фрейм в котором мы сами устанавливаем адрес скриптом

не видно ответа. как говорится, ЧЯДНТ?
<iframe src="about:blank" id="a"></iframe>

<script>
document.getElementById("a").onload = function(){
    this.contentDocument.body.innerHTML = '<iframe src="http://www.google.ru"></iframe>';
}
</script>

Deff 20.06.2012 23:06

<iframe src="http://lookatcode.com/showhtml/" id="a"></iframe>

<script>
document.getElementById("a").onload = function(){
    this.contentDocument.body.innerHTML = '<iframe src="http://www.google.ru"></iframe>';
}
</script>

Deff 20.06.2012 23:06

melky,
Выставляемый Адрес безымянного должен быть существующим

melky 21.06.2012 00:58

Цитата:

Сообщение от Deff (Сообщение 182870)
melky,
Выставляемый Адрес безымянного должен быть существующим

ваш код не работает в FF.

Deff 21.06.2012 01:04

melky,
В консоли видно, что фрейм от гугла есть

<iframe src="http://lookatcode.com/showhtml/" id="a"></iframe>

<script>
document.getElementById("a").onload = function(){
    this.contentDocument.body.innerHTML = '<iframe src="http://javascript.ru/forum/library-toolkit-framework/28930-vozmozhno-li-chtob-stranica-otkryvaemaya-v-iframe-ne-poluchala-referer-2.html#post182885"></iframe>';
}
</script>

melky 21.06.2012 01:06

Цитата:

Сообщение от Deff
В консоли видно, что фрейм от гугла есть

cначала не было видно, через 15 минут посмотрел ещё раз - стало видно. хз, что это было :)

но у вас тоже ответ не показывается.


PS about:blank разве не является валидным адресом?

Deff 21.06.2012 01:14

Цитата:

Сообщение от melky
cначала не было видно, через 15 минут посмотрел ещё раз - стало видно. хз, что это был

Возможно для FF нун закидывать пустой фрейм - а затем в нем менять адрес (возможно скриптом из фрейма(Думаю с безопасностью как то связанао (по наводке на область фрейма и клике правой - он его открывает на новой странице или вкладке

Я делал множественное вложенние фреймов с последним iframe не с текущего домена

Метод был такой - закидывал фрейм с текущего домена, добавляя к адресу некий хеш #a1, в зависимости от хеша очередной фрейм создавал внутри себя новый с таким же адресом - либо адресом другого домена

deanisa 21.06.2012 14:43

Цитата:

Сообщение от Deff (Сообщение 182856)
deanisa,
Да на вид вродь всё так - а чо - сложно проверить ?
Если траблы - дайте ссылку на тестовую страницу, посколь счетчики обычно привязаны к доменам


тестовую страница -
http://www.pixfree.net/

подгружаемый фрейм со счетчиком -
http://www.newonly.org/

при обращении к pixfree.net -

в ИЕ поодгружается фрейм с гуглом но со счетчиком - нет
в FF ничего не подгружается, на секунду только мелькает вроде и всё...

Deff 21.06.2012 14:48

deanisa,
Нун изворачивацо
Подгружать во фрейм фрейм со своей страницей - ставить ему
хеш #change ( если хеш есть,скрипт страницы(внутри последнего фрейма) меняет собственный адрес на адрес счетчика

deanisa 21.06.2012 14:53

Deff,

простите, не понимаю :-(

можно полностью хтмл и скрипт в качестве примера

спасибо

Deff 21.06.2012 15:39

Вам нужно на страницу, засовываемую в последний фрейм, поставить такой скрипт
<script>
  var hash = window.location.hash;
  if(hash=="#change") {
  window.location="http://yandex.ru/"; //Тут адрес Вашего счечика
  }
</script>


а код засовывания измениться на подобный
<iframe src="http://lookatcode.com/showhtml/" id="a"></iframe>

<script>
document.getElementById("a").onload = function(){
    this.contentDocument.body.innerHTML = '<iframe src="http://lookatcode.com/showhtml/#change"></iframe>';
}
</script>

http://lookatcode.com/showhtml/ - меняем на произвольные свои адреса, со своего сайта

deanisa 21.06.2012 16:53

Deff,

Не получается
видимо всё же что то делаю не так.

попробую по шагово -

1 по урл http://www.newonly.org/ есть HTML файл со счетчиком, к его коду доступа нет.

2 создаем HTML файл со следующим кодом -

<html>
<head>
<title>frame</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />

<script>
var hash = window.location.hash;
if(hash=="#change") {
window.location="http://www.newonly.org/"; //Поместили сюда урл файла со счетчиком
}
</script>

</head>

<body>


</body>
</html>


заливаем этот файл по адресу http://www.wasia.ru/ он будет использоваться в качестве
ифрейма.

3 создаем HTML файл со следующим кодом -

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1250">
<title>test</title>

<script>
document.getElementById("a").onload = function(){
this.contentDocument.body.innerHTML = '<iframe src="http://www.wasia.ru/#change"></iframe>';
}
</script>

</head>
<body>

<iframe id="a" src="http://www.wasia.ru/" width="800" height="600"></iframe>
	 
</body>
</html>


заливаем этот файл по адресу http://www.petia.ru/,
и теперь у нас при обращении к http://www.petia.ru/ реферер должен менятся на http://www.wasia.ru/ ?

Правильно ли я всё сделала ?
скрипты в HTML вставлены корректно ?

очевидно всё же что то не так, потому что , к сожалению, не срабатывает :cray:

Deff 21.06.2012 17:02

deanisa,
Не так

deanisa 21.06.2012 17:09

Deff,

покоцано

Deff 21.06.2012 17:20

Карочь у мну они не кажут - Вот проще и без скриптов

На страницу с петей ставите фрейм со счетчиком
фрейм с петей на нужную Свою главную (Но не факт, что боты отследят счетчик, счетчик, по идее считать будет


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