Цитата:
|
а виновника торжества уже забанили?
И где можно посмотреть список банов? |
Цитата:
|
Как-то Вы не тем заняты, вот затравка:
Cокращение больших идентичных кусков на странице(актуально для моего сервиса с кучей форумов и кучей идентичных страниц.
<!--Подгрузка с кешированним на клиенте редко меняемых секций HTML кода на странице -->
<script type="text/javascript">(function(){var a="FORUM:form#post",lnk="/files/content_form_post/1437607164.txt",
b='<!--|·|-->',html,c='/',reg=eval(c+b+c+'g'),b=b.split('|'),storag=window.localStorage; var d=+new Date();
if(storag)html=storag[a];if(html){c=html.substr(0,100).split(reg);if(c=(c[1]==lnk)){document.write(html);return;}}
if(!html||!c){c=c?'':'?'+d;html = $.ajax({url:lnk+c, async: false, cache:!c}).responseText; document.write(html);
if(!storag)return; storag[a]=b[0]+ lnk + b[1] + d + b[2]+html}}());
</script>
Нужный кусок кода страницы засовываем в файл /files/content_form_post/1437607164.txt , в даннном случае у меня форма ответа со всякими BB-наворотами, весом под 100кб. Скрипт ставим в то место страницы, где должен появиться контент. Получилась экономия трафика около 10% на страницу в топике с сообщениями и формой, коих основная масса /80% под юзером/, все скрипты и стили (если есть в виде загружаемых файлов) - разворачиваем в полный код, когда суём в файл подгрузки. var a="FORUM:form#post" - своё новое значение переменной для загрузки иной секции(отличной от текущей). |
kobezzza, чет я не пойму как подключить хтмл в js, через webpack, через что я не тупоб в доке)
|
Пытался что то такое сделать
module.exports = function ( app ) {
app.derictive ( "ngDynamicSelect", function ( ) {
return {
restrict: "A",
template: require( "../templates/list.html" ),
scope: {
ngDynamicLest: "="
}
}
} )
};
gulpfile
var gulp = require('gulp'),
webpack = require ( "webpack" );
gulp.task("webpack", function(callback) {
webpack({
entry: [ "src/directives/dynamic-select" ],
output: {
filename: "dist/ngDynamicSelect.js"
}
}, function(err, stats) {
console.log( err);
callback();
});
})
gulp.task('default', [ "webpack" ] );
|
Цитата:
Дока у веб-пака говно, но я настоятельно рекомендую потратить время на этот сборщик, ибо он действительно великолепен. |
Цитата:
|
kobezzza, спасибо)
nerv_, окай) |
Переписанный под синтаксис ES5 пример множественного наследования, специально для foo:
function inherits(subClass, superClass) {
if (typeof superClass !== "function" && superClass !== null) {
throw new TypeError("Super expression must either be null or a function, not " + typeof superClass);
}
Object.setPrototypeOf(subClass.prototype, superClass && superClass.prototype);
if (superClass) {
Object.setPrototypeOf(subClass, superClass);
}
}
function pluralParent() {
var parents = [].slice.call(arguments);
//Наследование конструктора
var DerivativeParent = function() {
var i;
var Parent;
for (i = 0; i < parents.length; i++) {
Parent = parents[i];
Object.assign(this, new Parent());
}
};
//Наследование свойств прототипа
DerivativeParent.prototype = new Proxy(DerivativeParent.prototype, {
get: function(target, name) {
if (name in target) {
return target[name];
}
var i;
var Parent;
for (i = 0; i < parents.length; i++) {
Parent = parents[i];
if (name in Parent.prototype) {
return Parent.prototype[name];
}
}
}
});
//Наследование статических свойств класса
DerivativeParent = new Proxy(DerivativeParent, {
get: function(target, name) {
if (name in target) {
return target[name];
}
var i;
var Parent;
for (i = 0; i < parents.length; i++) {
Parent = parents[i];
if (name in Parent) {
return Parent[name];
}
}
}
});
return DerivativeParent;
}
var Cat = function() {
this.isACat = true;
}
Cat.prototype.meow = function() {
console.log("meow");
}
var Dog = function() {
this.isADog = true;
}
Dog.prototype.bark = function() {
console.log("woof");
}
var CatDog = function() {
//Вызвать родительский конструктор. Можно не вызывать - тогда установленные в конструкторах свойства не унаследуются.
Object.getPrototypeOf(this.constructor).apply(this, arguments);
};
inherits(CatDog, pluralParent(Cat, Dog));
var catDog = new CatDog();
catDog.meow();
catDog.bark();
console.log(catDog);
Запускать надо в последнем FF (IceCat на дебиане): v8 еще не поддерживает вошедшие в релиз стандарта прокси ES6. |
| Часовой пояс GMT +3, время: 00:00. |