More important, how do I keep a site from changing what I copy / paste, because this is the crappiest UI change a site can make. I am rather sick of copying a phrase and getting a huge site advertisement and url attached.
how do I keep a site from changing what I copy / paste
1. Disable Javascript. I browse with NoScript / Scriptsafe plugs installed, and disable JS by default. This defeats the demo in the article (I actually had to enable JS to break my copy/paste).
2. Use a console-mode browser and/or curl the source and grab what you want from it (though I've found sites which break console tools).
Better: enter domains which employ such tactics in your /etc/hosts file as 0.0.0.0.
> Better: enter domains which employ such tactics in your /etc/hosts file as 0.0.0.0.
As far as I can tell, blocking *.tynt.com cuts down on 99% of such gimmmicky tactics.
(I wonder why they're such a major provider; the paranoid in me wants to believe that they're using patents aggressively; the lazy person in me doesn't care.)
Short of setting up a nameserver and going authoritative for the domain (I've done that, I'm feeling lazy), /etc/hosts doesn't take wildcards for hostnames.
I've never actually noticed any site doing that to me as I usually browse with NoScript.
I wrote that post with the intention of using the solution in apps to copy/paste app data in plain text - eg. selecting multiple objects in a drawing app and copying them as a JSON string.
I guess NoScript/Ghostery/AdBlock Plus could be considered solutions to your problem.
> I've never actually noticed any site doing that to me as I usually browse with NoScript.
Not necessarily a solution, as you can do it with css only. For example, people can put a 0-sized snippet at the end of the text, and then pad with some non-copyable text, so you select ABC, end up copying AB<something else>.
One of the features I really love in Opera (Presto, 12.16), is the ability to deny sites the ability to detect context menu events. You can do this at a per-site level too. Very useful for sites that mess with copy/paste, or right-click in general.
I've seen sites do it, but I find it fair. Most of the examples I've run into attach something like "Read more at: <url>" which isn't obnoxious. It's also easy to remove from the text that is copied.
The majority of times, if not the total, that I encounter this poor design is when I'm in the process of pasting a quote into a tweet while sharing the link with others. Too clever by half.
In what world is it "fair" for you to alter the behavior of what I expect to happen just because some people find it "easy" to fix the way you broke it?
Not all copying is fair. Many copyrighted content is copied without the author's permission and used in non-fair-use contexts. Therefore it seems reasonable for the copyright holder to alter the behavior of the copy function and append the URL to the copied text.
But I say that because I'm a reasonable person. If you feel entitled to being able to copy everything as is, then I suppose you won't like it being altered.
If I want to copy content without authors permission, I won't copy and paste and will just wget the shit out of your web page and carry on. You prevented nothing.
But as a regular user, you just made me angry preventing me to copy and paste or adding obnoxious content (which I'm going to delete anyways).
So you traded a light barrier (if any) to unfair users for a huge annoyance to legitimate ones. Not very smart IMHO.
That is not a reasonable stance. What you're saying is that the site owner is entitled to pre-judge any copy and paste as inherently unfair, and break everyone's experience as a result. That's not a judgement they should be able to make, and it's not a right they have.
Come on. Appending a URL to the copied text doesn't break anyone's experience. It's a very tiny inconvenience at best.
As for them pre-judging any copy and paste as inherently unfair, most people on the Internet copy and steal things without giving credit. Appending a URL to a chunk of copied text is a way of nudging them to cite the material. As for fair-use folks, I see it as helpful. I always cite material I copy from elsewhere manually, but now the script does it for me. In either case, it's a win.
> As for them pre-judging any copy and paste as inherently unfair, most people on the Internet copy and steal things without giving credit.
You're justifying their pre-judgment of people by pre-judging more people.
> I always cite material I copy from elsewhere manually, but now the script does it for me. In either case, it's a win.
Citing material by leaving the "\n\nRead more at http://something.somewhere/content.html" isn't a format I've ever seen anywhere, and seems like it would be incredibly annoying to parse.
> Come on. Appending a URL to the copied text doesn't break anyone's experience. It's a very tiny inconvenience at best.
No. It makes something that should be in muscle memory, which I shouldn't even have to think about, which I do countless times a day on other sites and with other tools exactly the way I expect, and forces me to stop and think about it. It breaks my concentration and breaks my flow. Sites which do this are broken. The site owners have reached out and purposefully chosen to make my tools misbehave. You don't get to tell me that's a "tiny inconvenience". Especially not when the reasoning behind it is so utterly asinine.
> most people on the Internet copy and steal things without giving credit.
I really, really hope you're trolling. Even if this bore the slightest, tiniest resemblance to reality, it wouldn't justify trying to break my tools. "There exists an infringing use case therefore all uses must be interfered with"? No. No. NO.
1. Disable Javascript. I browse with NoScript / Scriptsafe plugs installed, and disable JS by default. This defeats the demo in the article (I actually had to enable JS to break my copy/paste).
2. Use a console-mode browser and/or curl the source and grab what you want from it (though I've found sites which break console tools).
Better: enter domains which employ such tactics in your /etc/hosts file as 0.0.0.0.