Sziasztok!
Van a Safariban olyan lehetőség, mint a Chrome-ban, hogy ne használja a cache-t, ha be van kapcsolva a Developer Tools?
Sziasztok!
Van a Safariban olyan lehetőség, mint a Chrome-ban, hogy ne használja a cache-t, ha be van kapcsolva a Developer Tools?
Van. Develop->Disable caches. :D Rossz helyen kotorásztam.
Jah, csak mindig kézzel kell bekapcsolnod, szóval nem kapcsol be alapból, ha megnyitod az eszköztárt. Vagy tévedek?
Ráadásul ha bekapcsolod, akkor minden oldalon érvényes lesz, nem pedig csak ott, ahol megnyitod. Vagy nincs erre valami plugin, ami ki bekapcsolja, ahol megvan nyitva az eszköztár?
Igen, nem olyan jó, mint a Chrome-é, ami csak az adott oldalra vonatkozik, csak akkor, ha a Developer Tools nyitva van. (Pont ezért kerestem a Developer Toolson belül valami beállítási lehetőséget.) Viszont a semminél sokkal jobb. A plugin jó ötlet, körülnézek.
Én meg utánanézek, hogy hogy lehet ilyen plugint írni
Még a végén meghozod a kedvemet a Swifthez :D
A poén az, hogy megnéztem hirtelen és nem is Xcode-ban kell írni plugint, hanem a Safarinak van valami eszköze rá (Develop -> Show Extension Builder). Itt meg hirtelen nem találtam rá módot, hogy lekérdezzem aktív-e a menü.
A lényeg, hogy Applescripttel szerintem könnyebben meg lehet oldani a dolgot. A menüre kattintás már megvan (mármint, hogy egy adott elnevezésű menüt egy adott programban kattintson).
Nagy nehezen megszületett az Applescript. Persze ezt én Apple Script Editorral futtattam (elvileg lehet csinálni belőle alkalmazást).
Annyit csinál, hogy másodpercenként ellenőrzi, hogy az aktív alkalmazás az a Safari-e és ha igen, akkor ellenőrzi, hogy be van-e kapcsolva az Inspector és a Disable Cache menü. Ha egyik igaz, másik hamis, akkor kattint egyet a Disable Cache menün. Azaz, ha átváltunk egy tabra, ahol nincs bekapcsolva az Inspector, akkor kikapcsolja a Disable Cache-t. Ha pedig visszaváltunk, akkor bekapcsolja.
Persze egyébként a menü meglétét egy try - catch blokkal oldottam meg, ezért hibát ír ki leállítás után, de így egyszerűbb volt, mint egy ciklussal végigmenni a menubar elemein…
on CacheCheck()
tell application "Safari"
tell application "System Events"
tell process "Safari"
set DevelopMenu to menu bar item "Develop" of menu bar 1
try
set ShowWebInspertor to menu item "Show Web Inspector" of menu 1 of DevelopMenu
set inspectorEnabled to false
on error
set inspectorEnabled to true
end try
set DisableCaches to menu item "Disable Caches" of menu 1 of DevelopMenu
set cachesEnabledValue to value of attribute "AXMenuItemMarkChar" of DisableCaches
set cachesEnabled to cachesEnabledValue is "✓"
if inspectorEnabled is not cachesEnabled then
click DisableCaches
end if
end tell
end tell
end tell
end CacheCheck
repeat
set activeApp to ""
tell application "System Events"
set activeApp to name of first application process whose frontmost is true
end tell
if "Safari" is in activeApp then
CacheCheck()
end if
delay 1
end repeat
Most ahogy nézem a kódot, még kimaradt egy try blokk, mert ha nincs bekapcsolva a Develop menü, akkor is hibára fut a kód…
中国是我的 :)
Cipősz cirke tésztával?
谷歌翻译