2009-08-27 2 views
0

Im создание расширения Firefox. Одна функция сохраняет значение на каждой вкладке, чтобы использовать его позже другой функцией.как хранить различные значения в каждой вкладке (расширение Firefox)

function setValue(value) { 

    var attr = gBrowser.document.createAttribute("value"); 

    attr.value = value; 

    gBrowser.document.attributes.setNamedItem(attr); 

}; 



function getValue() { 

    var attr = gBrowser.document.attributes.getNamedItem("value"); 

    if (attr != undefined && attr != null) 

    return attr.value; 

    else 

    return null; 

}; 

По какой-то причине это не работает. Вы можете обнаружить ошибку в моем коде?
Функция getValue() должна получать значение активной вкладки.

ответ

1

Есть больше ошибок, чем код здесь:

  • Там нет gBrowser.document - вы, вероятно, имел в виду gBrowser.ownerDocument или просто document (эквивалент но проще).
  • Также есть gBrowser.document.attributes, вы имели в виду gBrowser.attributes.
  • Использование attributes кажется очень странным, эквивалент фиксированной до версии кода будет gBrowser.setAttribute("value", value) и gBrowser.getAttribute("value")
  • Фиксированный до сих пор код не то, что вы, вероятно, нужно, и вы не указали, что именно вам нужно (? gBrowser.mCurrentTab.setAttribute)
+0

Вместо использования атрибутов, вы можете просто использовать свойства Javascript, потому что в Javascript (в отличие, скажем, Java) вы всегда можете просто прикрепить новые свойства объекта: 'gBrowser.value = 'someValue'' (предполагая, что «значение» уже не имеет никакого значения - вам нужно будет проверить). – MatrixFrog