Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Общие вопросы > Greasemonkey и Node.prototype


Автор: Ciber SLasH 22.7.2010, 19:16
Народ, нужна помощь!
Есть такой скрипт для Greasemonkey:
Код

// ==UserScript==
// @name           torrents.ru::enlarge
// @namespace      http://rutracker.org/forum/index.php
// @description    enlarge forum
// @include        http://rutracker.org/forum/index.php
// ==/UserScript==

//-- Add: removeNode -----------------------------------------------------------
if (window.Node)    Node.prototype.removeNode = function (removeChildren) {
    var self = this;
    if (Boolean(removeChildren))    return this.parentNode.removeChild(self);
    else {
        var r = document.createRange();
        r.selectNodeContents(self);
        return this.parentNode.replaceChild(r.extractContents(), self);
    }
}
//------------------------------------------------------------------------------
var obj = document.getElementById('sidebar1');
obj.removeNode(true);
// DIV > TABLE > TBODY > TR
var obj = document.getElementById('forums_wrap').children[0].children[0].children[0];
obj.cells[1].removeNode(true);

но он не работает :(
В чём проблема?

Автор: Hanut 27.7.2010, 00:17
Если необходимо убрать лишние столбцы, то достаточно этого.
Код

var obj = document.getElementById('sidebar1');
obj.style.display = 'none';

var obj = document.getElementById('forums_wrap').children[0].children[0].children[0];
obj.deleteCell(1);

Автор: Ciber SLasH 27.7.2010, 07:01
За код спасибо, работает на ура. Хорошая подсказка про deleteCell.
И всё же мне интересно, почему не работают прототипы  smile 

Автор: Hanut 27.7.2010, 23:23
Там ошибка маленькая в первой строке.
if (window.Node)    window.Node.prototype.removeNode = function (removeChildren) {

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)