2012-02-06 1 views
0

Я не эксперт JavaScript-пользователь, и у меня возникают трудности с addEventListener.Получение «appcontent» location.host

var appcontent = document.getElementById("appcontent"); 
appcontent.addEventListener("DOMContentLoaded", load, true); 

function load(aEvent) { 
    var doc = aEvent.originalTarget; 
    alert(doc.location.host); 
} 

В дополнение на этот код будет предупреждать location.host о appcontent. Моя проблема заключается в том, что мне не нужен слушатель события и хотите вызвать нагрузку, как обычную функцию:

var appcontent = document.getElementById("appcontent"); 
load(appcontent); 

function load(aEvent) { 
    var doc = aEvent.originalTarget; 
    alert(doc.location.host); 
} 

Это то, что я пытался сделать, но это не работает.

ответ

0

Функция load() по-прежнему ожидает событие, но теперь вы передаете ему фактический элемент. Кроме того, какое местоположение вы хотите знать, то из выбранной в данный момент вкладки? Затем вы можете использовать глобальную переменную content, она указывает на объект window текущей вкладки. Таким образом, изменение функции load() во что-то, как это должно работать:

function load() { 
    alert(content.location.host); 
} 

Используйте Ctrl + Shift + J, чтобы открыть консоль JavaScript и проверить ошибки для вашего расширения - это должно помочь вам найти то, что наш вопрос.

+0

Thanks Wladimir, это было полурабочее, но я получал сообщение об ошибке с content.body (где он сказал бы, что тело имеет значение null или undefined). Я смог придумать решение моей проблемы. Вид длинный путь, но он работает. – thefoyer

Смежные вопросы