To clarify slightly, bookmarklet behavior across browsers is to call `document.write` with the result of the bookmarklet’s last expression unless that result is `undefined`, and calling `document.write` after page load completes replaces the page’s DOM with the content written. It’s a weird bookmarklet thing, I don’t think there’s anywhere else in JS that accepts a list of statements, not expressions, but cares about the result of the last expression.
People often disable this by making the last expression `void 0`, which evaluates to `undefined`. This is really an anachronism, though, the original point wasn’t actually brevity (it’s only one character shorter after URL encoding, not worth funky syntax) but that just writing `undefined` was broken and sometimes didn’t evaluate to the special value undefined. That’s fixed now, so I would just append `undefined` instead.
Though, really what you should do is always wrap bookmarklets in IIFEs, which avoids stomping around the page’s global variables, lets you write code with early exits, lets you opt back in with an explicit return rather than editing boilerplate, and also solves this issue as a bonus.
The Grommet | Somerville/Cambridge/Boston | FULL TIME | ONSITE/REMOTE | https://thegrommet.com
About The Grommet -- While most companies only want you to buy what they’re selling, The Grommet is focused on helping people discover things worth buying. Through our e-commerce shop and wholesale business, we shine a light on great new products from small businesses and help them compete with the big guys, so the best ideas win.
The Grommet | Full Stack Engineer | Boston, MA | Full-Time, Onsite
The Grommet is a product launch platform. This means we find unique, undiscovered products and help them succeed. Over the past decade, we have discovered and launched thousands of unique and innovative products, including several household brands like FitBit, IdeaPaint, OtterBox, and SodaStream. Over the next year, our engineering team will be developing the next iteration of our platform from the ground up using Magento 2 and Laravel.
Desired skills: 5+ years of professional PHP web development, MySQL, HTML and CSS, writing unit tests, JavaScript. Experience maintaining and developing for Magento is a big plus.
I've had a similar experience. A few years I had multiple issues with LazerShip (last mile delivery) and I complained to Amazon about it. They've never sent anything via LaserShip to me since.
You guys must be special. I've had several problems with LazerShip. Most recently they delivered a $300 watch to the wrong location. I've specifically asked if I could somehow avoid having packages shipped by them, and the CSRs have told me they can't control that.
Maybe it has to do with my region, or the fact that I'm quite close to a regional Amazon warehouse.
CloudFront's "Origin Pull" method seems to do almost everything you are looking for with almost zero setup and management. No manual uploads and it matches all of your HTTP headers from the origin (eg, cache control and encoding). I've been using it for a few years and I love it.
Plus, CloudBerry Explorer PRO makes everything even easier and well worth the $40 (http://goo.gl/SM8dk).
Boston, MA - Magento Developer - Looking for truly intelligent, fun, passionate PHP developers looking to join a rapidly growing team and solve complex challenges. We primarily work on large scale e-commerce implementations for big brands – i.e. 3M, Scholastic, Crumbs, Griffin Technology, etc.
Here's a minified version with "sticky" added:
javascript:(()=>[...document.querySelectorAll('body *')].map(el=>["fixed","sticky"].includes(getComputedStyle(el).position)&&el.remove()))();