функція як закладка Google Chrome - -


78

Дозвольте спершу сказати, яка у мене проблема: мені потрібно заповнювати одну і ту ж веб-сторінку багато разів, а вміст, який мені потрібно заповнити, здебільшого однаковий, але розподілений по всій веб-сторінці.

Рішення, про яке я думав: я знаю, що є спосіб створити якусь функцію javascript, яку ви ставите за закладкою google, так що коли ви перебуваєте на сторінці, ви просто натискаєте цю закладку, і вона виконає деякі дії.

Мені було цікаво, чи використовував хтось (або створював) щось подібне. Якщо ви можете зробити це самостійно, як з цього почати? А чи можете ви використовувати jquery?

Якщо це можливо створити, мені також було цікаво, чи можливо, натиснувши, показати спливаюче вікно із запитом декількох параметрів, щоб мені не потрібно було те саме заповнювати 3,4 рази

Відповіді:


121

Ви можете зробити це за допомогою букмарклета . Закладка - це закладка з URI, що починається з псевдопротоколу, javascript:за яким слідує код JavaScript, кодований URI. Коли ви запускаєте закладку, браузер запускає код у контексті поточної сторінки. Отже, ви переходите на цю сторінку, а потім використовуєте цей букмарклет, щоб заповнити свою стандартну інформацію, і ось.

Наприклад, ось букмарклет, який під час запуску шукатиме елемент зі id someElementсторінкою та, якщо знайдеться, призначить "some value"його valueвластивості:

javascript:(function(){var d=document,e=d.getElementById("someElement");e.value="some value";})();

2
Так, це саме те, що я шукав :) Тепер, коли я знаю назву, я можу шукати, чи дозволяє вона jquery чи ні РЕДАКТУВАТИ : це дозволяє jquery ( coding.smashingmagazine.com/2010/05/23/… ) Чи є Той, хто знає, чи можна створити спливаюче вікно, яке запитує певний параметр?
Brentg,

1
@Brentg: Так, іноді просто потрібно знати, як щось називається. Ви можете використовувати jQuery в закладках, але це, як правило, не є гарною ідеєю, оскільки ви можете створити проблеми зі сторінкою. Вам потрібно перевірити, чи jQuery вже завантажений, завантажити його, якщо ні, активувати noConflictпісля завантаження на випадок, якщо сторінка використовує Prototype або MooTools або щось інше, що покладається на $глобальний символ, і на цьому етапі букмарклет виходить досить ретельно руки ... :-)
TJ Crowder

2
@Brentg: Звичайно, для закладок, призначених для використання на певній сторінці, якщо ви знаєте, що на сторінці є jQuery, ви можете абсолютно вільно ним користуватися. Ваш код працює точно так, ніби він був у scriptтезі на сторінці, тому ...
TJ Crowder

2
@Brentg: " Хтось знає, чи можна було б створити спливаюче вікно, яке запитує певний параметр?" Є завжди prompt. Або, звичайно, додати a divна сторінку з абсолютним позиціонуванням, або навіть використовувати інтерфейс jQuery, якщо сторінка завантажена.
TJ Crowder,

1
Так, я можу спробувати це, але спливаюче вікно буде трохи чистішим. Я спробую це зрозуміти і розмістити результати тут :) велике спасибі!
Brentg

12

Цей творець закладок стане в нагоді, щоб перекласти ваш JavaScript в один рядок: http://mrcoles.com/bookmarklet/


1
Цей задихнувся моєю складною функцією, але ідея пошуку генератора для його побудови є гарною.
Noumenon

3
javascript : { document.getElementById('PlateNo').value='0815';document.getElementById('AppRef').value='013007';document.getElementById('VehicleReg').value='MX53 YMD'; void(0) }

3

Ось приклад того, який дозволяє редагувати веб-сторінку як документ.

javascript:document.body.contentEditable = 'true'; document.designMode='on'; void 0

2

Ви можете використовувати підказки та попередження та підтверджувати вікна, і я створив гру. Це не так чисто. Ось код JavaScript:

Для редактора: для початку він повинен мати "javascript:" на початку

javascript: 
var totalClicks = 0;
for (var i = 0; i < 1000000; i++){
    var message1 = prompt("Clicker Game!\nClicks: "+totalClicks,"remove this text to end the game");
    totalClicks++;
    if (message1 !== "remove this text to end the game"){
        i = Math.Infinity;
    }
}
alert("Thanks for playing my game!\nClicks: "+totalClicks)

0

Для Mozilla використовуйте як

javascript:function myFun(){
var d=document;
var e=d.getElementById("someElement");
var e.value="some value";
}myFun();
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.