Расширения для браузеров

Страницы: 1 2  ... 4  ОТВЕТИТЬ НОВАЯ ТЕМА
Enfix 21 дек 2012 в 07:57
Мозгг  •  На сайте 14 лет
Сообщений: 68
175
Меня окончательно задолбали "чёрные квадраты"
И не осталось ни малейшего желания для просмотров тем открывать новые вкладки, коих у меня плодится из-за таких вот "чёрных квадратов".
Теперь всё будет проще! Добро пожаловать под кат rulez.gif
Будет 3 картинки и одно расширение cool.gif

Расширения для браузеров
Yap 06.09.2026 - 01:16
Продам слона  •  На сайте 21 год
Расширение для Google Chrome: http://www.yaplakal.com/go/?https://...ibakjhbckolcjff
Расширение для Firefox: ЗДЕСЬ


ПОСЛЕ УСТАНОВКИ ОБНОВИТЕ СТРАНИЦУ ЯПА!

Расширения для браузеров
Как это работает:
1. В ленте появляется дополнительная кнопка:

Расширения для браузеров
2. После клика появляются сообщения из темы.
3. Кликаем ещё, появляются следующие сообщения.

На этом у меня пока что всё. Пинайте =)

Расширения для браузеров
Кому интересны исходники, выкладываю:
manifest.json

Скрытый текст

var  injectJs=chrome.extension.getURL("scripts/injectscript.js");
var script = document.createElement("script");
script.setAttribute("type", "text/javascript");
script.setAttribute("src", injectJs);

document.querySelector('head').appendChild(script);
document.body.setAttribute("onLoad", "initYapPeepPost();");

window.addEventListener("message", function(e) {
if (event.source != window) return;
if (event.data.type && (event.data.type == "loadPeepPost")) {
  var xhr = new XMLHttpRequest();  //TODO: проверить, остаётся ли в кэше
  xhr.open("GET", event.data.url, true);
  xhr.params=event.data; //-- запоминаем принятые данные, что бы потом их передать
  xhr.onreadystatechange = function(){
  if (xhr.readyState == 4) { //TODO: обработать другие статусы
    window.postMessage({ type: "showPeepPost", peepPost: xhr.responseText, params: xhr.params }, "*");
  }
  } 
}
xhr.send();
}, false);


styles.css

Скрытый текст

.icon-peeppost {
background-image:url('chrome-extension://__MSG_@@extension_id__/icons/icon_eye.png') !important;
padding-left:25px !important;
}

.peeppost {
width: 100%;
display: none;
}

.peeppostloading {
position: fixed;
z-index: 999;
width: 128px;
height: 128px;
left:50%;
margin-left: -69px;
top: 50%;
margin-top: -69px;
background-image:url('chrome-extension://__MSG_@@extension_id__/icons/loading.gif') !important;
display: none;
}


mainscript.js

Скрытый текст

var  injectJs=chrome.extension.getURL("scripts/injectscript.js");
var script = document.createElement("script");
script.setAttribute("type", "text/javascript");
script.setAttribute("src", injectJs);

document.querySelector('head').appendChild(script);
document.body.setAttribute("onLoad", "initYapPeepPost();");

window.addEventListener("message", function(e) {
if (event.source != window) return;
if (event.data.type && (event.data.type == "loadPeepPost")) {
  var xhr = new XMLHttpRequest();  //TODO: проверить, остаётся ли в кэше
  xhr.open("GET", event.data.url, true);
  xhr.params=event.data; //-- запоминаем принятые данные, что бы потом их передать
  xhr.onreadystatechange = function(){
  if (xhr.readyState == 4) { //TODO: обработать другие статусы
    window.postMessage({ type: "showPeepPost", peepPost: xhr.responseText, params: xhr.params }, "*");
  }
  } 
}
xhr.send();
}, false);



injectscript.js

Скрытый текст

function initYapPeepPost() {
$("body").append('<div class="peeppostloading"></div>');
$(".holder.newsbottom").append('<b class="icon-peeppost"><a class="peeplink" href="#">Подсмотреть пост</a></b>'); //TODO: учесть есть ли вообще посты
$(".icon-peeppost a").click(function(){
  var postUrl=$(this).parent().parent().find(".icon-link a").attr("href"); 
  var linkId;
  if ($(this).attr("id")=="") {
  linkId='link'+ $(".peeplink").index(this);
  $(this).attr("id", linkId);
  } else {
  linkId=$(this).attr("id");
  } 
  $(".peeppostloading").fadeIn('fast');
  window.postMessage({ type: "loadPeepPost", url: postUrl, link: linkId }, "*");
  return false;
});
window.addEventListener("message", function(e) {
  if (event.source != window) return;
  if (event.data.type && (event.data.type == "showPeepPost")) {
  var peepLink=$('#'+event.data.params.link);
  var peeparea=peepLink.parent().parent().parent().prev().find(".news-content");
  var _html= $(event.data.peepPost);
  var posts=_html.find("table[id^='p_row_']");
  var postIndex=parseInt(peepLink.data("index"));
  var postId;
  //==
  $(".peeppostloading").fadeOut('slow');
  if (isNaN(postIndex)) postIndex=1;
  if (postIndex==-1) {
    window.location.href = event.data.params.url;
    return false;
  }
  postId=posts.eq(postIndex).attr("id");
  peeparea.append('<table id="peep'+postId+'" class="peeppost">'+posts.eq(postIndex).html()+'</table>');
  $('#peep'+postId).fadeIn('slow'); 
  if (postIndex+1<posts.length) { 
    peepLink.text("Подсмотреть ещё!");
    peepLink.data("index", postIndex+1);
  } else {
    peepLink.text("Нас запалили, подсматривать больше нельзя! Перейти к полной версии?");
    peepLink.data("index", -1);
  }
  }
});
}



Ну вот и всё.
Все комментарии:
Liger74 22 дек 2012 в 14:00
ГОСТ 826-54  •  На сайте 15 лет
2
На SRWare Iron работает, изюмительная фишка, автору благодарность, респект и уважуха!
Беспилотник 24 дек 2012 в 08:59
Гость  •  На сайте 14 лет
0
А у меня чёт пичалька, не устанавливается расширение(
Хром Версия 23.0.1271.97 Убунту 12.10

Цитата (Штирлиц @ 21.12.2012 - 19:56)
Долбоёб штоле?
А если я без подкатов гифку запилю мегов на двадцать???
Тут же у половины ЯПовцев "Инк" по пизде пойдёт.
Думайте, блеать, чо пишите!

А слабо вместо малевича скрин гифки запостить? Чтобы видно было что там сиськи, письки или котики

Расширения для браузеров

Это сообщение отредактировал Беспилотник - 24 дек 2012 в 09:01
amdx 24 дек 2012 в 11:02
Программер  •  На сайте 15 лет
27
Раз пошла такая пьянка, а я имею ввиду тему о подсматривании подкатов, то предлагаю свой скрипт для оперы (может и для других браузеров подгоню), который позволит:

1) Убирать верхнюю часть шапки на страницах
2) Убирать нижнюю часть (футер), т.к. он огромен и в принципе не нужен
3) Убирать правую колонку с активными темами, рекламой и фишками соцсетей
4) Позволит не ждать пока завершится поиск (как он меня достал)
5) Переход по всем ссылкам без предупреждений о вирусах и открытием ЯП-файлов
6) Скрыть рекламные посты на главной (которые без оценки)

Инсталляция:
1) Качаем скрипт в любую папку
2) В опере правый клик мыши, меню "Настройки для сайта"
3) В появившемся окне вкладка "Скрипты"
4) В окошке папки скриптов указываем ту папку, куда скачали скрипт. Можно указать прямой путь к файлу
5) Жмем ОК, обновляем страницу.

Скрипт: http://rghost.ru/42471893

Это сообщение отредактировал Kott68 - 27 дек 2012 в 21:13
Enfix автор 24 дек 2012 в 11:32
Мозгг  •  На сайте 14 лет
3
Беспилотник
Обнови, если есть возможность и желание, хром - это баг в хроме, с ним ничего сделать не смогу.
P.S. баг: http://code.google.com/p/chromium/issues/detail?id=165627

Это сообщение отредактировал Enfix - 24 дек 2012 в 11:33
Беспилотник 24 дек 2012 в 12:06
Гость  •  На сайте 14 лет
1
Цитата (Enfix @ 24.12.2012 - 19:32)
Беспилотник
Обнови, если есть возможность и желание, хром - это баг в хроме, с ним ничего сделать не смогу.
P.S. баг: http://code.google.com/p/chromium/issues/detail?id=165627

Так это у меня самая свежая версия из репов.
Ладно, подожду когда в хроме ошибку исправят, они там новые версии как пирожки стряпаю)
Но за расширение всё равно спасибо agree.gif
Pashel 24 дек 2012 в 22:40
Хохмач  •  На сайте 15 лет
1
А у мну фаером скачалось yap.js.txt
оторвал ему тектовое расширение и заработало!
MadMax77 25 дек 2012 в 20:45
Балагур  •  На сайте 16 лет
2
Enfix
"Недопустимый файл манифеста" - отвечает мне Chrome...

что не так я сделал? upset.gif
Fabys 25 дек 2012 в 20:45
На Дубровку!  •  На сайте 19 лет
2
попытка установить расширение в хром

Расширения для браузеров
probneg 25 дек 2012 в 20:45
Пластилин мира!  •  На сайте 15 лет
2
Цитата (ЗСМ @ 25.12.2012 - 19:33)
А "Скрыть" кнопки нету? Вдруг дам флешка со звуковым сопровождением выносящим мозг....

Ты про эту?
оффтоп 1х5
"гифку века" удалил...

Это сообщение отредактировал andruxan - 25 дек 2012 в 20:54
Enfix автор 25 дек 2012 в 20:46
Мозгг  •  На сайте 14 лет
1
Fabys
Нужно подождать чуть-чуть пока гугл обработает новую версию!
Zlobny 25 дек 2012 в 21:02
аццкий кодер  •  На сайте 15 лет
0
Цитата (Edaries @ 25.12.2012 - 20:49)
помницца делали расширение со смайликами а щас фиг его найдешь.

ну... ТС его в Работу сайта сложил. тыцк
там я и присоседился к теме со смайлами... cool.gif
mwtden 25 дек 2012 в 21:05
Перпетум Кобеле  •  На сайте 18 лет
0
народ а как от этого избавиться, ибо заипалло конкретно. выскакивает постоянно

Расширения для браузеров
Enfix автор 30 дек 2012 в 19:58
Мозгг  •  На сайте 14 лет
12
В общем мне надоело ломать Ф5, пока автор темы выкладывает картинки.
Поэтому написал расширение для Google Chrome:

https://chrome.google.com/webstore/detail/y...daahglnholeaogp

Ниже будет пример работы.
Enfix автор 30 дек 2012 в 20:05
Мозгг  •  На сайте 14 лет
2
+ При появлении новых сообщений в теме, они будут автоматически отображены и фон нового сообщения измениться.
+ Так же иконка станет другого цвета в заголовке вкладки




Добавлено в 20:08
Кстати, если пока вы читаете появится новая страница, об этом Вам тоже будет сообщено.
Обновления работают на последней странице темы (логично,да? так как новые сообщения появляются именно там)

После установки обновить страницу ЯПа!
Я всё =) Пинайте =)


Расширения для браузеров
Arhagemnon 30 дек 2012 в 20:08
Долбоеб (и не надо иронизировать)  •  На сайте 15 лет
0
Как уже писали в теме тестирования - в опере есть автообновление страниц с указываемым интервалом. Если у ж начал делать, то делай для всех браузеров (хотя бы самых популярных), а не для какого-то одного.
DarkViking 30 дек 2012 в 20:09
Шутник  •  На сайте 14 лет
0
ТС, у меня расширение не устанавливается. Оно как бы скачивается и начинает устанавливаться, но в списке расширений, в меню, его нет
васявасин 30 дек 2012 в 20:16
авотхуйвам  •  На сайте 15 лет
0
по-моему не работает при нескольких открытых вкладках

UPD а нет,всё пашет. Одно предложение Автору. вкладка зеленым подсвечивается, не совсем заметно, может поярче подсветить?

Это сообщение отредактировал vasyavasin - 30 дек 2012 в 20:18
Enfix автор 30 дек 2012 в 20:16
Мозгг  •  На сайте 14 лет
0
Цитата (DarkViking @ 30.12.2012 - 20:09)
ТС, у меня расширение не устанавливается. Оно как бы скачивается и начинает устанавливаться, но в списке расширений, в меню, его нет

должно быть =) тока что установил по ссылке... есть....
Enfix автор 30 дек 2012 в 20:34
Мозгг  •  На сайте 14 лет
0
Исходники:
injectscript.js
/*
*
*
*
*
*/

function initYAPF5simylator() {

var updtInterval=setInterval(goUpdate, 10000); //-- 30 сек
var postsCount=$("table[id^='p_row_']").length;
var pages=$('.row3:first tr:last td:first a[href!="#"]').length;

function goUpdate() {
window.postMessage({ type: "loadUpdatePost", url: window.location.href }, "*");
}

window.addEventListener("message", function(event) {
if (event.source != window) return;
if (event.data.type && (event.data.type == "showUpdatePost")) {
var _html= $(event.data.updtPost);
var updtPosts=_html.find("table[id^='p_row_']");
var updtPages=_html.find('.row3:first tr:last td:first a[href!="#"]');
if (updtPages.length>pages) { //-- есть новые страницы
if(confirm('Есть новая страница, перейти?')) {
window.location.href=updtPages.eq(updtPages.length-2).attr("href");
} else {
clearInterval(updtInterval); //-- больше не надоедаем с вопросами
}
}
if (updtPosts.length<=postsCount) return;



for (var i=postsCount; i<updtPosts.length; i++) {
$('form[name="collect"]').append('<table width="100%" border="0" cellspacing="1" cellpadding="3" id="peep'+i+'" class="f5simylatorpost f5new">'+updtPosts.eq(i).html()+'</table>'+'<div class="darkrow1" style="height:5px"></div>');
}
postsCount+=(updtPosts.length-postsCount);
$('link[rel="shortcut icon"]').attr("href", event.data.favicon);
}
});

$(".f5new").livequery("mouseover", function() {
$(this).removeClass("f5new");
if ($(".f5new").length==0) $('link[rel="shortcut icon"]').attr("href", "/favicon.ico");
return false;
});

}


Enfix автор 30 дек 2012 в 20:35
Мозгг  •  На сайте 14 лет
0
mainscript.js
/*
*
*
*
*
*/

var injectJs=chrome.extension.getURL("scripts/injectscript.js");
var livequeryJS=chrome.extension.getURL("scripts/jquery.livequery.min.js");


var script = document.createElement("script");
script.setAttribute("type", "text/javascript");
script.setAttribute("src", injectJs);
document.querySelector('head').appendChild(script);
var loadstr=document.body.getAttribute("onLoad");
document.body.setAttribute("onLoad", loadstr+" initYAPF5simylator();");

//== Livequery в 1.2.6 нету live =(
script = document.createElement("script");
script.setAttribute("type", "text/javascript");
script.setAttribute("src", livequeryJS);
document.querySelector('head').appendChild(script);

//== favicon
var iconnew=chrome.extension.getURL("icons/icon_new.ico");

window.addEventListener("message", function(e) {
if (event.source != window) return;
if (event.data.type && (event.data.type == "loadUpdatePost")) {
var xhr = new XMLHttpRequest();
xhr.open("GET", event.data.url, true);
xhr.params=event.data; //-- запоминаем принятые данные, что бы потом их передать
xhr.onreadystatechange = function(){
if (xhr.readyState == 4) { //TODO: обработать другие статусы
window.postMessage({ type: "showUpdatePost", favicon: iconnew, updtPost: xhr.responseText, params: xhr.params }, "*");
}
}
}
xhr.send();
}, false);







Добавлено в 20:35
manifest,json
{
"manifest_version": 2,
"name": "YAPF5Simylator",
"version": "1.0",
"description": "Автообновление постов на yaplakal.com",
"icons": {
"16": "icons/icon_16.png",
"32": "icons/icon_32.png",
"48": "icons/icon_48.png",
"128": "icons/icon_128.png"
},

"content_scripts": [
{
"matches": ["http://www.yaplakal.com/*"],
"css": ["styles.css"],
"run_at": "document_end",
"js": ["scripts/mainscript.js"]
}
],

"web_accessible_resources": [
"scripts/injectscript.js",
"scripts/jquery.livequery.min.js",
"scripts/jquery.scrollto.min.js",
"icons/icon_new.ico"
],
"permissions": [
"tabs", "http://www.yaplakal.com/*"
]
}
Понравился пост? Ещё больше интересного в ЯП-Телеграм и ЯП-Max!
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии. Авторизуйтесь, пожалуйста, или зарегистрируйтесь, если не зарегистрированы.
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) Просмотры темы: 39 509
0 Пользователей:
Страницы: 1 2  ... 4  ОТВЕТИТЬ НОВАЯ ТЕМА

 
 

Активные темы



Наверх