Просмотр полной версии : текст из html
Помогите разобраться. Имеется элементарный html:
<html>
<head>
<title>Какой-то текст</title>
</head>
<body>
Каким образом можно выдрать текст между тегами <title> и </title>?:wacko:
externalEnterface . и то врядли поможет
Вопрос автору - вы хотите узнать заголовок той страницы, на которой опубликована флешка?
В данном случае да, но вообще интересно каким образом получить текст между любыми тегами.
Опять-таки не очень понятно - если вы имеете доступ к странице, то вам проще сразу сообщать флешке нужные данные при ее публикации, например, на этапе генерации страницы.
Если предполагается, что вы можете что-то сделать только с помощью самой флешки, то тут можно задействовать связку класс ExternalEnterface + JavaScript.
"Общий случай" с ваших слов рисуется достаточно туманным, поэтому и советов вам особенно не дают. Пишите конкретно ваши обстоятельства, и что у вас не выходит.
Я походу совсем чайник.
Флешка находиться в странице html. Это некий баннер которому должно передаватся значение <title> страницы, в которой он находится. Возможности что-то менять в html-коде нету.
Ну вот например, код, с помощью которого можно проверить URL страницы, где находится флешка:
import flash.external.*;
var javaScriptFunction:String = 'function testUrl () { return location.href ; }';
var testUrlString:String = String (ExternalInterface.call (javaScriptFunction));
То есть в переменной testUrlString мы получаем URL.
Дальше можно как-то это использовать, например, запретить дальнейшую работу флешки, если текущий полученный URL не совпадает с заданным.
Или использовать в других целях - вам виднее.
Я JS знаю плохо, изучите вопрос, может быть есть функция, с помощью которой по аналогии можно и title узнать.
Или распарсить HTML код страницы.
import flash.external.*;
var javaScriptFunction:String = 'function testUrl () { return location.href ; }';
var testUrlString:String = String (ExternalInterface.call (javaScriptFunction));
То есть ExternalInterface.call вызывает JScript функцию testUrl() над исходной html страницей? Я правильно понимаю?
Да, именно так.
Функция JS генерируется прямо внутри флешки, доступ к редактированию HTML-страницы не обязателен. Главное, чтобы в коде публикации флешки было разрешено использование ею внешних скриптов (параметр "allowScriptAccess" хотя бы имел значение "sameDomain"). Если там будет "never", то вызов JS не станет работать.
Спасибо большое!
Добавлено через 2 часа 24 минуты
Если интересно, чтобы выдергнуть <title> той же страницы делаем так:
var javaScriptFunction:String = 'function testUrl () { document.title ; }';
var testUrlString:String = String (ExternalInterface.call (javaScriptFunction));
Получилось? Отлично.
При достаточных навыках владения JavaScript можно горы свернуть и чудесные вещи организовывать при использовании флеша на страницах.
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.