Сценарий букмарклета слишком длинный для создания ярлыка приложения - PullRequest
0 голосов
/ 30 августа 2009

Я выяснил, как создать букмарклет для Google Analytics, который будет открываться, чтобы сразу отображать только сегодняшнюю статистику. Я хотел создать ярлык приложения Google Chrome, чтобы он соответствовал моим другим ярлыкам Google Apps, но первая проблема заключается в том, что он создает приложение только с текущим URL-адресом, который отображает сегодняшнюю информацию и, конечно, отображает вчерашнюю информацию завтра. Я решил, что отредактирую цель для ярлыка и заменим URL-адрес на JavaScript, который у меня был. Вторая проблема - слишком длинная строка сценария. Сочетания клавиш в окне назначения могут содержать только 290 символов или что-то в этом роде. Путь к Chrome, а также сценарий прошли мимо этого.

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

Я знаю Джимми-Приседания о программировании. Я могу отредактировать javascript, но не могу написать его. Я использовал YUI Compressor, чтобы уменьшить его, но он не сильно изменился. Я также попытался использовать URL-адрес, но все они добавляют префикс http: //, и это все испортило. Я прочитал, что могу указать на файл bat в целевом ярлыке, но также не могу понять, как это сделать ... плюс я подумал, что есть более простой способ сделать это, не требующий незначительного взлома, который я хотел бы избежать.

Мне легко удалось добавить в закладки сайт в Chrome и заменить URL-адрес на javascript, и он отлично работает, и это была половина моей цели. Но я действительно хотел бы использовать это как ярлык Windows и вести себя точно так же, как другие приложения, потому что они запоминают предыдущий размер окна.

Есть предложения по простому решению?

Вот скрипт букмарклета -

javascript:var d=new Date();if(d.getMonth()<10){var pad='0';};var t=''+d.getFullYear()+(pad+(d.getMonth()+1))+d.getDate();location.href='https://www.google.com/analytics/reporting/dashboard?id=HIDDENID&pdr='+t+'-'+t+'&cmp=average'

Также вот путь к другому, но довольно похожему ярлыку приложения из Chrome -

"C:\Documents and Settings\USERPROFILE\Local Settings\Application Data\Google\Chrome\Application\chrome.exe" --app=http://docs.google.com/a/MYGOOGLEAPPSDOMAIN/

1 Ответ

2 голосов
/ 30 августа 2009

Почему бы не создать локальный .html файл, содержащий это:

<script type="text/javascript">
  var d=new Date();
  if(d.getMonth()<10){
   var pad='0';
  }
  var t=''+d.getFullYear()+(pad+(d.getMonth()+1))+d.getDate();  
  location.href='https://www.google.com/analytics/reporting/dashboard?id=HIDDENID&pdr='+t+'-'+t+'&cmp=average'
</script>

Тогда вы можете просто использовать это как «ярлык».

% AppData% может также помочь вам получить еще несколько символов из ярлыка. Если запуск chrome.exe из командной строки приводит к открытию другого типа окна, отличного от двойного щелчка по файлу HTML, вам может потребоваться указать chrome.exe на workaround.html

%AppData%\Google\Chrome\Application\chrome.exe --app=file:///c/googleworkaround.html

Кроме того, ручное сжатие некоторой части вашей логики привело к тому, что этот гольф-код с 268 символами может работать, а может и не работать.

%AppData%\Google\Chrome\Application\chrome.exe --app=javascript:var d=new Date(),t=[d.getFullYear(),d.getMonth()<9?'0':'',d.getMonth()+1,d.getDate()].join('');location.href='https://www.google.com/analytics/reporting/dashboard?id=HIDDENID&pdr='+t+'-'+t+'&cmp=average';
...