Поиск по этому блогу

четверг, 17 декабря 2015 г.

Находим самоучитель JavaScript и осваиваем Dev Tools и ScratchPad Firefox

Все как-то руки не доходили, обходился консольюю браузера... Вчера вечером таки прочитал документацию ScratchPad, вспомнил, что в свое время я его пробовал, но тогда были проблемы с подсказками, в часности с jQuery, сейчас улучшились подсказки в консоли..., так что можно работать... Чтобы загрузить любую библиотеку надо выполнить команды Shift+F2 inject http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.js**
Не путать эту консоль с консолью страницы... Ctrl+Shift+k  
Веб-Консоль Помощь
Область видимости на странице "Структура javascript" на старом сайте javascript.ru
Основы javascript Здесь мы разберем основы javascript, включая синтаксис и первые примеры. Кроме того, подберем инструменты для редактирования и разработки. Этот раздел особенно рекомендуется тем, кто только начинает изучать javascript.
Developer Toolbar - shift+F2 -> help -> inject ...Так я искал способ для внедрения фрейморков (... например, jQuery) в пространство имен страницы
Debugger Инструменты разработчика Firefox
Scratchpad Инструменты разработчика Firefox Firefox Developer Tools Episode 34 WebIDE, Storage inspector, jQuery events, iframe switcher + more

Повторил пример из видео в scrathpad

In [1]:
%%html
<div id="main-header">Tht background of this text will removed to red by javascript below</div>
This text will be removed by javascript below
In [2]:
%%javascript
function changeHeaderBackground (id, color)
  {
    let header = document.getElementById(id);
    header.setAttribute ("style", "background-color: " + color);
    return color;
    
  };
  
changeHeaderBackground ("main-header", "#f00")
Вот этот скрипт я попробовал в sratchPad. Стоит отметить, что по умолчанию он работает в пространстве имен активной страницы, но можно переключиться в пространство имен браузера.

Running Scratchpad in the browser context // -sp-context: browser

You can run Scratchpad in the context of the browser as a whole rather than a specific web page. This is useful if you are working on Firefox itself or developing add-ons.
To do this check "Enable chrome and add-on debugging" in the Developer Tool Settings.
Once you've done this, the Environment menu has a Browser option; once that's selected, your scope is the entire browser rather than just the page content, as you will see from examining some globals:
In [ ]:
window
/*
[object ChromeWindow]
*/

gBrowser
/*
[object XULElement]
*/
In [ ]:
* The Scratchpad execution context is set to browser when a snippet file has

// -sp-context: browser

* on the first line.

Как загрузить любую библиотеку (объект) в пространство имен страницы?

Оказывается, все многочисленные объекты, вызываемые из штатной консоли страницы браузера (,,x ... ссылка на документацию в начале поста) - это не jQuery...
Поэтому команда вроде этой не выаолнялась...
In [ ]:
$('h1').css('background-color', 'red')
Чтобы ее выполнить, надо сначала подгрузить файл jquery.js в пространство имен
In [ ]:
* Shift+F2 -> inject http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.js
Я всегда считал, что Shift+F2 открывает консоль страницы, оказывается - нет! попытка выполнить inject из Веб-консоли Ctrl+Shift+k не удалась... Впредь буду пользовать две строки...


Посты чуть ниже также могут вас заинтересовать

8 комментариев:

Sergey Borisovich комментирует...

Напоролся на баги, но дебаггеры firefox и ex10 помалкивали, а вот Опера выдала:


Opera has modified script or content on www.youtube.com (PATCH-1185, youtube.com - show video above playlist). See browser.js for details www-embed-player.js:602

GET chrome-extension://boadgeojelhgndaghljhdicfkmllpafd/cast_sender.js net::ERR_FAILEDMj

@ www-embed-player.js:602Lj

@ www-embed-player.js:599Kj

@ www-embed-player.js:598Pj

@ www-embed-player.js:605Kl

@ www-embed-player.js:804Wo

@ www-embed-player.js:1137Vq

@ www-embed-player.js:1264(anonymous function)

@ ee7G-q7nLF0?theme=light&color=white&loop=1&showinfo=0&controls=1&enablejsapi=1&origin=http%3A%2F%2F…:10
base.js:3503 SVG's SMIL animations (, , etc.) are deprecated and will be removed. Please use CSS animations or Web animations instead.www-embed-player.js:602


GET chrome-extension://dliochdbjfkdbacpmhlcpmleaejidimm/cast_sender.js net::ERR_FAILEDMj @ www-embed-player.js:602Lj @ www-embed-player.js:599(anonymous function) @ www-embed-player.js:599Mj.c.onerror @ www-embed-player.js:601
www-embed-player.js:602


GET chrome-extension://fjhoaacokmgbjemoflkofnenfaiekifl/cast_sender.js net::ERR_FAILEDMj @ www-embed-player.js:602Lj @ www-embed-player.js:599(anonymous function) @ www-embed-player.js:599Mj.c.onerror @ www-embed-player.js:601

Sergey Borisovich комментирует...

http://www.opera.com/docs/browserjs/

This guide was last updated for Opera 12.00

Browser JavaScript is a feature that allows Opera to automatically fix incompatible Web pages, out of date scripts, and pages that inadvertently block Opera. The script file is automatically distributed by Opera Software ASA, and can be used to apply fixes to specific Web sites, and specific scripts.

Browser JavaScript respects your JavaScript preferences, and will not be loaded if JavaScript is disabled.

Sergey Borisovich комментирует...

opera://about
Установка: C:\Program Files (x86)\Opera
Профиль: C:\Users\alter_000\AppData\Roaming\Opera Software\Opera Stable
Кэш: C:\Users\alter_000\AppData\Local\Opera Software\Opera Stable

browser://about/

Информация о версии

Версия: 34.0.2036.25 - Используется обновленная версия Opera
Канал обновлений: Stable
Система: Windows 10 64-bit (WoW64)
Идентификация браузера

Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.73 Safari/537.36 OPR/34.0.2036.25

Пути

Установка: C:\Program Files (x86)\Opera
Профиль: C:\Users\alter_000\AppData\Roaming\Opera Software\Opera Stable
Кэш: C:\Users\alter_000\AppData\Local\Opera Software\Opera Stable

Sergey Borisovich комментирует...

http://habrahabr.ru/post/18017/

Многие наверняка слышали, что Опера «фиксит» работу некоторых сайтов (и js библиотек), чтобы те в свою очередь нормально работали в этом браузере. Я как то натыкался на страницу с перечислением какие сайты и какие проблемы на них исправлены. Но как то не задумывался, как же они это «правят».

Sergey Borisovich комментирует...

Creating your own browser with HTML and JavaScript

https://blogs.windows.com/msedgedev/2015/08/27/creating-your-own-browser-with-html-and-javascript/

Over the past several months, we have made numerous improvements to the Microsoft Edge rendering engine (Microsoft EdgeHTML), focusing on interoperability with modern browsers and compliance with new and emerging standards. In addition to powering Microsoft Edge, EdgeHTML is also available for all Universal Windows Platform (UWP) apps via the WebView control. Today we would like to demonstrate how the WebView control can be used to create your own browser in Windows 10.

Sergey Borisovich комментирует...

Microsoft Edge browser javascript runtime “permission denied” error

http://stackoverflow.com/questions/30743358/microsoft-edge-browser-javascript-runtime-permission-denied-error

1
down vote


It's because of Content Security Policy.

Shortly, you have to tell Edge to work unsecure from server side. https://docs.webplatform.org/wiki/tutorials/content-security-policy

Check other links here https://msdn.microsoft.com/en-us/library/dn904195(v=vs.85).aspx

Sergey Borisovich комментирует...

Чтобы автоматически подгружать ява-скрипты на определенных страницах есть

GreaseMonkey

has been around for quite a while, but it is not known as much as it should! Originally, it started as a browser extension for Firefox but the userscripts are now natively supported in Chrome.

http://codebazaar.blogspot.ru/2010/11/monkey-see-greasemonkey-do.html

Sergey Borisovich комментирует...

А в Опере есть еще и встроенный вариант запуска скриптов из папки на локальном компьютере, но пока рекомендуют использоват плагины.