Live data from Hacker News

About rel=noopener (2016)

mathiasbynens.github.io

31–40 of 48 posts

Re: About rel=noopener (2016)

#31
post #23

There’s also a disown-opener CSP directive that’s hopefully going to be implemented at some point. Should help take care of this.

On the same note, in the JSX plugin for ESLint, there's a rule to warn against target="_blank" without rel="noopener". Very handy.

Re: About rel=noopener (2016)

#32
post #14

Earlier quoted context omitted.

Internet Explorer tried to maintain multiple rendering engines. Every version from IE5 to IE11 (if you open the debug console you can switch rendering modes) And now they have Edge. It never took off. I suspect the cost of breaking web compatibility intentionally to accomplish this goal would kill a browser, as authentication, payment, and many other things would suddenly break.

this is why I say it would have to be opt-in through something like a header or tag on the page in question (although I don't think doctype would work well for this). Existing sites would use the current engine and sites that explicitly stated they were for the new engine would be handled differently.

Content-Security-Policy might be a good way to opt in to this kind of behavior.

Re: About rel=noopener (2016)

#33

My totally unmeasured hunch is that there is a downside to using noopener: it could make the new page that is being opened take slightly longer, since it now needs to spool up another process/thread/sandbox/whatever instead of piggy backing off the existing page's. More about the performance "benefit" here: https://jakearchibald.com/2016/performance-benefits-of-rel-n...

That page says the opposite of what you just said.

For an origin page utilizing 100% of it's available processor resources, yes.

But in the real world most websites don't do this. What likely matters to the user is that the page they're navigating to opens faster; the user likely doesn't care about the performance of the hidden tab they just came from.

Of course, `noopener` has security and privacy benefits which may outweigh the performance costs (if there are any).

Re: About rel=noopener (2016)

#34

Earlier quoted context omitted.

Likely because it has been posted many times already. I've read it at least three times now.

But have you truly internalized it?

I still use rel="noopener noreferrer" on _blank links, but it's less of an issue than it was when first reported.

Re: About rel=noopener (2016)

#35

Earlier quoted context omitted.

I remember this very thing being discussed years ago. Since this is still a problem, I'd say the web needs a way to gracefully migrate away from bad decisions like window.opener being available across origins. Should we not decide that cross-origin window.opener is now deprecated, show big fat warnings on the developer console when it's used, and remove it in a year or two? I'd like an option to completely turn it of…

in semantic versioning terms, we need a "2.x" of the HTML API. We'd need to break backwards compatibility across the board and have sites opt in to use v2 using some kind of flag. The benefits would be massive but it would also require browsers to essentially have 2 different engines to support both legacy and v2 websites.

> in semantic versioning terms, we need a "2.x" of the HTML API.

Version # is not the phrase you want to overload. HTML5 is the latest version and was released 4 years ago.

Re: About rel=noopener (2016)

#36

I think this is an older article?* Any updates on support? * I also don't understand how this is being served. If you go to https://github.com/mathiasbynens there should be a repository called mathiasbynens.github.io right? But I can't find it.

The article is two years old but still up-to-date. The links to the relevant browser bugs are in the document, and the Edge bug is still unresolved. https://wpdev.uservoice.com/forums/257854-microsoft-edge-dev...

Re: About rel=noopener (2016)

#37

Earlier quoted context omitted.

I remember this very thing being discussed years ago. Since this is still a problem, I'd say the web needs a way to gracefully migrate away from bad decisions like window.opener being available across origins. Should we not decide that cross-origin window.opener is now deprecated, show big fat warnings on the developer console when it's used, and remove it in a year or two? I'd like an option to completely turn it of…

in semantic versioning terms, we need a "2.x" of the HTML API. We'd need to break backwards compatibility across the board and have sites opt in to use v2 using some kind of flag. The benefits would be massive but it would also require browsers to essentially have 2 different engines to support both legacy and v2 websites.

How about a Babel-like transpiler, that would take HTML written in this newly proposed standard and outputs backward-compatible code? For example, adding rel="noopener" by default to external links.

Re: About rel=noopener (2016)

#38
post #14

Earlier quoted context omitted.

Internet Explorer tried to maintain multiple rendering engines. Every version from IE5 to IE11 (if you open the debug console you can switch rendering modes) And now they have Edge. It never took off. I suspect the cost of breaking web compatibility intentionally to accomplish this goal would kill a browser, as authentication, payment, and many other things would suddenly break.

this is why I say it would have to be opt-in through something like a header or tag on the page in question (although I don't think doctype would work well for this). Existing sites would use the current engine and sites that explicitly stated they were for the new engine would be handled differently.

That's exactly what IE did with the `X-UA-Compatible` meta tag. It's just more work for both browsers and websites to manage, which is why it's not used anymore.

https://msdn.microsoft.com/en-us/library/jj676915(v=vs.85).a...

Re: About rel=noopener (2016)

#39

Earlier quoted context omitted.

But have you truly internalized it?

I still use rel="noopener noreferrer" on _blank links, but it's less of an issue than it was when first reported.

Could you elaborate on how it's less on an issue than before? Have browsers implemented some security strategies since the article was published?

I've seen this article (OP) a few times already, and it keeps reminding me to add rel="noopener noreferrer" on whatever site/system I'm working with at the time. In fact I just did that yesterday when I saw this article, to set up a way to automatically add it for external links, in my current dev workflow.

Re: About rel=noopener (2016)

#40

Earlier quoted context omitted.

I still use rel="noopener noreferrer" on _blank links, but it's less of an issue than it was when first reported.

Could you elaborate on how it's less on an issue than before? Have browsers implemented some security strategies since the article was published? I've seen this article (OP) a few times already, and it keeps reminding me to add rel="noopener noreferrer" on whatever site/system I'm working with at the time. In fact I just did that yesterday when I saw this article, to set up a way to automatically add it for external…

I'm going off of the tickets linked in the footer of the article, which seem to show they're being resolved.
Post reply on HN