Плагин / букмарклет google chrome: «открыть в firefox»?

0:00, 19 мая 2020
Без рубрики 'Плагин / букмарклет google chrome: «открыть в firefox»?
0 11 мин.

Управление

Чтобы выполнять различные операции над установленными дополнениями (отключение, удаление), необходимо открыть вкладку с их перечнем. Щёлкните кнопку «Меню» и перейдите в списке: Дополнительные инструменты → Расширения.

Чтобы временно деактивировать аддон, не удалять полностью, в его строке уберите «галочку» в окошке «Включить».

Выполнение полной деинсталляции выполняется при помощи кнопки «Корзина». После её нажатия подтвердите действие: в запросе выберите ответ «Удалить».

Для просмотра справочной информации об аддоне (предназначение, версия, объём), в его блоке, под текстом описания, щёлкните ссылку «Подробнее».

В некоторых дополнениях, кроме ссылки «Подробнее», предусмотрена опция «Параметры» для гибкой отстройки функционирования (активация в режиме инкогнито, запуск локальных файлов).

Правила написания букмарклетов

Открытый документ может представлять собой фреймсет. При этом способы обращения к содержимому, использованные в нашем примере, работать не будут. Текст надо искать во фреймах, а не в текущем окне.

Есть несколько способов обойти эту проблему.

Если букмарклет не задуман для работы с фреймами — можно проверять их наличие и выводить предупреждение.

Для более надежной работы исключим ифреймы: в подавляющем большинстве сайтов они используются чисто технологически: в ajax, для обхода некоторых багов и тому подобное.

if(frames.length > document.getElementsByTagName('iframe').length)
  alert('Извините, фреймы не поддерживаются.');
else{
  /* код букмарклета */
}

С другой стороны, поддержка фреймов — хорошая фича. Например, букмарклет для поиска в гугл должен работать на сайтах с фреймами.

Решение — рекурсивный обход фреймов:

Пример: поиск выделенного в google

Для примера сделаем букмарклет, который осуществляет поиск выделенного текста в гугле.

Функция на javascript была бы такая:

function searchGoogle() {
  var selected
  
  if (window.getSelection) selected = window.getSelection()
  else if (document.getSelection) selected = document.getSelection()
  else selected = document.selection.createRange().text
  var q = "" + selected

  if (q)  location="http://www.google.com/search?q="+encodeURIComponent(q);
  void 0;
}

В конце функции стоит . Это кроссбраузерно останавливает обработку ссылки браузером, предотвращая ненужный переход.

Испытаем ее:

Искать выделенное

Выделите текст и кликните: Искать выделенное

Где скачивать дополнения

Загружать дополнения необходимо из официального магазина приложений.

Или введите в адресную строку URL сервиса — https://chrome.google.com/webstore/category/extensions.

На открывшейся страничке при помощи поля «Поиск» расширения можно искать непосредственно по его названию. Даже если вы помните его только частично, например, только первые литеры.

Также можно указывать тип плагина (к примеру, «Антибаннер»).

Или его функциональное предназначение, когда требуется выбрать наиболее подходящий вариант из всех имеющихся решений.


Допустим, если пользователь решил избавиться от рекламных баннеров, необходимо в поисковой строчке набрать «блокировка рекламы».

В дополнение к указанному запросу пользователю предоставляется возможность подключать сортировочные фильтры:

Разновидность (в данном случае «Расширение») и категория (по функциональному предназначению);

Возможности (по особенностям — работа в режиме офлайн, от разработчиков компании Google, бесплатные и т.д.).

Оценки (по рейтингу популярности: чем больше звёзд, тем популярней плагин).

Types

BookmarkTreeNodeUnmodifiable

Enum

managed value indicates that this node was configured by the system administrator. Omitted if the node can be modified by the user and the extension (default).

BookmarkTreeNode

properties
string id

The unique identifier for the node. IDs are unique within the current profile, and they remain valid even after the browser is restarted.

string (optional)
parentId

The of the parent folder. Omitted for the root node.

integer (optional)
index

The 0-based position of this node within its parent folder.

string (optional)
url

The URL navigated to when a user clicks the bookmark. Omitted for folders.

string title

The text displayed for the node.

double (optional)
dateAdded

When this node was created, in milliseconds since the epoch ().

double (optional)
dateGroupModified

When the contents of this folder last changed, in milliseconds since the epoch.

(optional)
unmodifiable

Since Chrome 37.

Indicates the reason why this node is unmodifiable. The managed value indicates that this node was configured by the system administrator or by the custodian of a supervised user. Omitted if the node can be modified by the user and the extension (default).

array of (optional)
children

An ordered list of children of this node.

READ  10 луковичных цветов, которые украсят ваш дом

Examples

The following code creates a folder with the title «Extension bookmarks».
The first argument to specifies properties
for the new folder.
The second argument defines a function
to be executed after the folder is created.

      chrome.bookmarks.create({'parentId': bookmarkBar.id,
                               'title': 'Extension bookmarks'},
                              function(newFolder) {
        console.log("added folder: " + newFolder.title);
      });
      

The next snippet creates a bookmark pointing to
the developer documentation for extensions.
Since nothing bad will happen if creating the bookmark fails,
this code doesn’t bother to define a callback function.

      chrome.bookmarks.create({'parentId': extensionsFolderId,
                               'title': 'Extensions doc',
                               'url': 'http://code.google.com/chrome/extensions'});
      

Methods

get

Retrieves the specified BookmarkTreeNode(s).

Parameters
string or array of string idOrIdList

A single string-valued id, or an array of string-valued ids

function callback

The callback parameter should be a function
that looks like this:

array of results

getChildren

Retrieves the children of the specified BookmarkTreeNode id.

Parameters
string id
function callback

The callback parameter should be a function
that looks like this:

array of results

getRecent

Retrieves the recently added bookmarks.

Parameters
integer numberOfItems

The maximum number of items to return.

function callback

The callback parameter should be a function
that looks like this:

array of results

getTree

Retrieves the entire Bookmarks hierarchy.

Parameters
function callback

The callback parameter should be a function
that looks like this:

array of results

getSubTree

Retrieves part of the Bookmarks hierarchy, starting at the specified node.

Parameters
string id

The ID of the root of the subtree to retrieve.

function callback

The callback parameter should be a function
that looks like this:

array of results

search

Searches for BookmarkTreeNodes matching the given query. Queries specified with an object produce BookmarkTreeNodes matching all specified properties.

Parameters
string or object query

Either a string of words and quoted phrases that are matched against bookmark URLs and titles, or an object. If an object, the properties , , and may be specified and bookmarks matching all specified properties will be produced.

function callback

The callback parameter should be a function
that looks like this:

array of results

create

Creates a bookmark or folder under the specified parentId. If url is NULL or missing, it will be a folder.

Parameters
object bookmark
string (optional)
parentId

Defaults to the Other Bookmarks folder.

integer (optional)
index
string (optional)
title
string (optional)
url
function (optional)
callback

If you specify the callback parameter, it should
be a function that looks like this:

result
READ  ​фонарь из пластиковой бутылки, работающий без электричества

move

Moves the specified BookmarkTreeNode to the provided location.

Parameters
string id
object destination
string (optional)
parentId
integer (optional)
index
function (optional)
callback

If you specify the callback parameter, it should
be a function that looks like this:

result

update

Updates the properties of a bookmark or folder. Specify only the properties that you want to change; unspecified properties will be left unchanged. Note: Currently, only ‘title’ and ‘url’ are supported.

Parameters
string id
object changes
string (optional)
title
string (optional)
url
function (optional)
callback

If you specify the callback parameter, it should
be a function that looks like this:

result

remove

Removes a bookmark or an empty bookmark folder.

Parameters
string id
function (optional)
callback

If you specify the callback parameter, it should
be a function that looks like this:

removeTree

Recursively removes a bookmark folder.

Parameters
string id
function (optional)
callback

If you specify the callback parameter, it should
be a function that looks like this:

Any.do

Если до этого вы никак не могли выбрать время, чтобы навести порядок в делах, займитесь этим прямо сейчас. Any.do является одним из самых удобных и красивых планировщиков и работает не только в браузере, но и на мобильных устройствах (iOS, Android). Создавайте списки, планируйте дела, назначайте цели: потом, при появлении интернета, все сделанные вами изменения будут синхронизированы с другими устройствами.

Any.do

Разработчик:

web.any.do

Цена:
0

Any.do: список задач, календарь, напоминания

Разработчик:

Any.do Calendar & To-Do List

Цена:
Бесплатно

Any.do: To-do list & Calendar

Разработчик:

Any.DO

Цена:
Бесплатно

Удаление Советника Яндекс.Маркета в Chrome

Что такое советника Яндекс.Маркета? Это такой скрипт sovetnik.min.js подключаемый в ваш браузер и дающий вам советы. Это дикий совок, давать непрошеные советы. Бог бы с ними с советами от Яндекса, но он дает ТОРМОЗНУТЫЕ советы. Когда я при тестировании сайта увидел, что из-за скрипта sovetnik.min.js мой сайт грузится дольше на 2 минуты!! Я думал мой сайт взломан и это какая-то гадость грузится с моего сайта!!

Выпиливаем левую заразу из браузера! В моем случае я не смог найти какое плагин подтянул скрипт sovetnik.min.js.

Универсальный способ по удалению Яндекс Советника из браузера Chrome:

  1. , в моем случае: C:\Users\ \AppData\Local\Google\Chrome\User Data\Default\Extensions.
  2. Открываем папку в проводнике Windows 10 и в поиске вбиваем имя файла sovetnik.
  3. Будут найдены файлы, выделяем найденный файл и нажимаем кнопку открыть расположение файла.
  4. Удаляем полностью папку со всеми файлами.

Events

onCreated

Fired when a bookmark or folder is created.

Parameters
function callback

The callback parameter should be a function
that looks like this:

string id
bookmark

onRemoved

Fired when a bookmark or folder is removed. When a folder is removed recursively, a single notification is fired for the folder, and none for its contents.

Parameters
function callback

The callback parameter should be a function
that looks like this:

string id
object removeInfo
string parentId
integer index
node

Since Chrome 48.

onChanged

Fired when a bookmark or folder changes. Note: Currently, only title and url changes trigger this.

READ  Картинки для обложек - фотографии и рисунки

Parameters
function callback

The callback parameter should be a function
that looks like this:

string id
object changeInfo
string title
string (optional)
url

onMoved

Fired when a bookmark or folder is moved to a different parent folder.

Parameters
function callback

The callback parameter should be a function
that looks like this:

string id
object moveInfo
string parentId
integer index
string oldParentId
integer oldIndex

onChildrenReordered

Fired when the children of a folder have changed their order due to the order being sorted in the UI. This is not called as a result of a move().

Parameters
function callback

The callback parameter should be a function
that looks like this:

string id
object reorderInfo
array of string childIds

onImportBegan

Fired when a bookmark import session is begun. Expensive observers should ignore onCreated updates until onImportEnded is fired. Observers should still handle other notifications immediately.

Ручное редактирование закладок

Ручное редактирование закладок Google Chrome в файле Bookmarks можно при помощи любого простого текстового редактора, например gedit текстовый редактор.

Синхронизация закладок, в настройках Chrome, должна быть отключена, иначе ваши изменения будут затерты.

Файл Bookmarks разделен на секции, имеющие различные названия. После раздела roots: представлены все папки и ссылки, хранящиеся в браузере. Далее в кавычках представляется название директории, в которой хранятся закладки. Например, bookmark_bar отвечает за закладки, которые хранятся в панели закладок. В строчке id представлен идентификатор закладки, который не стоит настраивать. Параметр name содержит имя файла, которое может быть изменено. Параметр type может иметь значения url или folder, который определяет саму закладку и поддиректорию соответственно. Строчка url отвечает за адрес самой закладки, который также может быть изменен.

Отредактируйте нужные строчки в файле, и сохраните его. После этого запустите браузер в системе и проверьте совершенные изменения.

Скрипт gbookmarklive.php считывает файл закладок и для каждой ссылки выводит её состояние.

gbookmarklive.php
<?php 
 
/*
  Are Google bookmarks live? Are Google bookmarks available?
 
  aptitude install php5-curl
 */
 
class gbookmarks {
 
    public $fbpatch = '';
    public $filecont = '';
 
    function __construct($fb = 'Bookmarks') {
        $this->fbpatch = $fb;
    }
 
    function toArray() {
        return (array) $this;
    }
 
    function catSTDOUT() {
 
        return passthru("cat $this->fbpatch");
    }
 
    function getJson() {
 
        return json_decode($this->filecont);
    }
 
    function getUrls() {
        $this->filecont = file_get_contents($this->fbpatch);
        preg_match_all('/.*\"url\": \"(.*).*\"/i', $this->filecont, $matches);
        return $matches1;
    }
 
}
 
function check_http_status($url) {
// Source: http://petrenco.com/php.php?txt=20
    $user_agent = 'Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0)';
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_USERAGENT, $user_agent);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_VERBOSE, false);
    curl_setopt($ch, CURLOPT_TIMEOUT, 10);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    $page = curl_exec($ch);
 
    $err = curl_error($ch);
    if (!empty($err))
        return $err;
 
    $httpcode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
    curl_close($ch);
 
// HTTP status codes: https://support.google.com/webmasters/answer/40132
// HTTP 200 (Successful) - OK
// HTTP 301 (Moved permanently) - OK
// HTTP 302 (Moved temporarily) - OK
// HTTP 307 (Temporary redirect) - Fail
// HTTP 404 (Not found) - Fail
 
    return $httpcode;
}
 
$okcodes = array(200, 301, 302);
 
//$obj = new gbookmarks('/home//.config/google-chrome/Default/Bookmarks.bak');
$obj = new gbookmarks('/home//.config/google-chrome/Default/Bookmarks');
$urls = $obj->getUrls();
 
foreach ($urls as $url) {
    $answer = check_http_status($url);
 
    if (!in_array($answer, $okcodes)) {
        echo 'HTTP status code: ' . $answer . '. URL: ' . $url . "\n";
    }
}
?>

Оцените статью
Понравилась статья?
Комментарии (0)
Комментариев нет, будьте первым кто его оставит
Добавить комментарий
Ваш e-mail не будет опубликован. Обязательные поля помечены *