All streams
Search
Write a publication
Pull to refresh
135
0
Viachaslau Tratsiak @Restorer

Solution Architect

Send message
у меня такие же проблемы на работе, но всё работает дома. возможно это как-то связано с настройками NAT.
ссылки получились совершенно случайно (я честно не хотел).
как только найду как исправить, перевыложу.
Я как раз тоже занимался eval-ом скриптов, когда только-только появился AJAX под .NET, и многие библиотеки не поддерживали его.

Первый момент — лучше добавлять и сразу удалять элемент script в заголовке документа, потому что eval не выполняется в контексте window, и все " function xyz() {} " в скрипте не будут доступны из других скриптов. как вариант писать " window['xyz'] = function() {} ", но мне кажется что это извращение (хотя данный метод используется в некоторых распространённых библиотеках).

Второй момент — выдирать скрипты можно проще :)

var js_ScriptFragment = '(?:<script.*?>)((\n|\r|.)*?)(?:<\/script>)';
var js_ScriptSrcFragment = '<script.+(src[ ]*=[ ]*\'(.*?)\'|src[ ]*=[ ]*"(.*?)").+';

function js_extractScripts(str)
{
    var matchAll = new RegExp(js_ScriptFragment, 'img');
    var matchOne = new RegExp(js_ScriptFragment, 'im');
    var matchSrc = new RegExp(js_ScriptSrcFragment, 'im');

    var arr = str.match(matchAll) || [];
    var res = [];

    for (var i = 0; i < arr.length; i++)
    {
        var srcMt = arr[i].match(matchSrc);
        if (srcMt)
        {
            if (srcMt.length > 3) res.push(['src', srcMt[3]]);
            else res.push(['src', srcMt[2]]);
        }

        var mtCode = arr[i].match(matchOne) || ['', ''];
            if (mtCode[1] != '') res.push(['code', mtCode[1]]);
    }

    return res;
}


пару ссылок в тему:
forums.asp.net/t/1045405.aspx
forums.asp.net/t/1062799.aspx

положи вместе с грамотой ещё и инклюд с дефайнами, барин, челом бью.
аминь1
А вот как мы праздновали юбилей:

Hosted by images.detstwo.com
не хватает варианта «пользуюсь только зарубежными linux ресурсами»

Использую если задача которую должна реализовывать библиотека не первоочередная.
Я использую libpng, freetype2, ftgl, libogg и иногда lua (хотя мне lua очень не импонирует, возможно перейду на python)

тоже потестил: Gaussian Blur 1.5; Threshold 190

не понял где собственно баг в первом баге? по поводу куда закачать у меня спрашивает (в опциях включить «Ask where to save ...»), при нажатии на download-кнопку («Free Coupwns») файл запускается. По моему нормальное поведение любого браузера.
Например FF3 — скачивает файл. Открыть список закачек и кликнуть два раза. Он тоже запустится.
:) мне кажется что нет. имхо, главное чтоб в проекте использовался какой-либо один стандарт, и не было мешанины.
ваш метод почти аналогичен моему, и обладает теми же недостатками что и мой :)
а кроме того если в Object добавлены новые методы через prototype (так любит делать одноимённая библиотека), то будет не верный результат.

например:

Object.prototype.new_method_1 = function() { /* do something */ }
Object.prototype.new_method_2 = function() { /* do something */ }

arr = [1, 2, 3, 1, 1, 2];
alert(arr.unique());
оно не работает для таких случаев.
но мне кажется что эти случаи искуственно придуманы, и в реальности будут встречатся несравненно редко (по крайней мере если мне надо было делать юник, то все объекты были однородными (да, и у всех был метод наподобие get_id или get_value, чтобы получать одно ключевое поле))
для больших массивов функция unique будет работать небыстро.
я обычно делаю так:

Array.prototype.unique = function() {
    var res = [];
    var already = {};

    for (var i = 0; i < this.length; i++) {
        var val = this[i];

        if (typeof(already['z'+val]) == 'undefined') {
            res.push(val);
            already['z'+val] = true;
        }
    }

    return res;
}

PS. 'z'+val а не просто val для корректной работы при случае, когда к Object-у добавлены новые методы через prototype.
думаю что никак.
хотя в питоне и можно при генерации модифицировать исходный список, но новый всё равно создаётся.
всё, понял ошибку.
засиживаться после работы - вредно :)
интересно почему такой вариант:

a = [1,2,3,4,1,2,6,9,2,3,8,4,5,76,2,5,6,7]
b = [ e for i,e in enumerate(a) if e not in a[i+1:] ]
print b

не сохраняет порядок? (хотя по идее должен).
у меня в результате [1, 9, 3, 8, 4, 76, 2, 5, 6, 7]
я про это и писал, что "кстати все варианты, кроме http://rafb.net/p/8Knr8267.html , валятся на '##1'" - все, это и мой в том числе.
а на одиночной # не валится :)
блин, питон это конечно, круто :)
тоже самое на руби выглядит не особо... http://rafb.net/p/x0A2lg85.html
отрабатывает. чтоб не быть голословным, проверил :)
тоже попробовал :)
http://rafb.net/p/tLK1ts77.html
(первый раз на питоне).

кстати все варианты, кроме http://rafb.net/p/8Knr8267.html , валятся на '##1'

Information

Rating
Does not participate
Location
Беларусь
Date of birth
Registered
Activity