Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> getSelection() из другого frame 
:(
    Опции темы
wtbh
Дата 9.8.2010, 11:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 45
Регистрация: 15.5.2008

Репутация: нет
Всего: нет



Добрый день всем!
Как получить значение выделенного текста нашел:
Код

 function getSelText(){
        var txt = '';
        if (window.getSelection){                      
                txt = window.getSelection();
        }else if (document.getSelection){
                txt = document.getSelection();
        }else if (document.selection){
                txt = document.selection.createRange().text;
        }
        alert(txt);
 }

 но так как я  с javascript не имел дел может кто нибудь подскажет как из одного фрейма получить выделенную строку другого фрейма.
Спасибо!
PM MAIL   Вверх
ZneP
Дата 9.8.2010, 13:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 98
Регистрация: 15.7.2008
Где: Россия, Москва

Репутация: нет
Всего: нет



Допустим у тебя окно разбито на 2 фрейма, левый и правый
frames[0] - это левый фрейм
frames[1] - это правый

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

Код

function getSelText(){
        var txt = '';
// Если в правом фрейме есть выделение
var right_frame = window.parent.frames[1];
        if (right_frame.getSelection){                      
                txt = right_frame.getSelection();
        }
        else if (right_frame.document.getSelection)
                txt = right_frame.document.getSelection();
        else
                txt = right_frame.document.selection.createRange().text;
        alert(txt);
 }

P.S. Это с учетом того, что эта функция будет в одном из фреймов

Это сообщение отредактировал(а) ZneP - 9.8.2010, 13:14
PM MAIL ICQ Skype   Вверх
wtbh
Дата 9.8.2010, 14:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 45
Регистрация: 15.5.2008

Репутация: нет
Всего: нет



спс. работает. 
только вот скажите если в правый frame я вставляю что нибудь типа  http://aport.ru <frame src="http://aport.ru" name="centr">  или какие нибудь странички где используются javascript то тогда ничего не работает. Такое реально победить?

PM MAIL   Вверх
ZneP
Дата 9.8.2010, 15:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 98
Регистрация: 15.7.2008
Где: Россия, Москва

Репутация: нет
Всего: нет



Без разницы что у тебя в правом фрейме будет открыто. Должно и так работать. 
Функция получения выделения должна быть в левом фрейме
PM MAIL ICQ Skype   Вверх
Amphiluke
Дата 9.8.2010, 15:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


   ☽
***


Профиль
Группа: Завсегдатай
Сообщений: 1253
Регистрация: 26.8.2009

Репутация: 39
Всего: 112



Цитата(ZneP @  9.8.2010,  19:02 Найти цитируемый пост)
Без разницы что у тебя в правом фрейме будет открыто. Должно и так работать. 

Ну-ну. Похоронили политику одного источника.

Впрочем, если ТС является обладателем aport.ru, то пожалуй. smile 
PM   Вверх
wtbh
Дата 9.8.2010, 16:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 45
Регистрация: 15.5.2008

Репутация: нет
Всего: нет



Вот 3 файла так всё работает. но если поменять     <frame src="right.html" name="right">  на    <frame src="http://zyxel.ru" name="right">   или что еще, то не работает. Ткните плизз на ошибку
index.html
Код

<html>
 <frameset cols="100,*" rows="*">
   <frame src="left.html" name="left">
   <frame src="right.html" name="right">  
 </frameset>
</html>


right.html
Код

aaaaaaaaa
sssssssss


left.html
Код

<script type="text/javascript" language="JavaScript1.2" src="func.js"></script>
TEST
<input type=submit value=start OnClick="getSelText();">


func.js
Код

 function getSelText(){
        var txt = '';
        if (window.getSelection){                      
                txt = parent.frames['right'].window.getSelection(); 
        }else if (document.getSelection){
                txt = document.getSelection();
        }else if (document.selection){
                txt = document.selection.createRange().text;
        }
        alert(txt );
 }


PM MAIL   Вверх
mxt
Дата 9.8.2010, 16:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 133
Регистрация: 6.9.2007

Репутация: 1
Всего: 1



ты не можешь работать с внутренностями фреймя, если страница с другого домена и тп. 
--------------------
PM MAIL   Вверх
wtbh
Дата 9.8.2010, 17:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 45
Регистрация: 15.5.2008

Репутация: нет
Всего: нет



спс большое 
буду думать как это обойти
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0668 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


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

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.