4 ms·
Curious to know whether someone has made a website to compare DDG and Google search results side by side. Anyone on HN want to take up that challenge? This stor
by bhl 8y ago
Curious to know whether someone has made a website to compare DDG and Google search results side by side. Anyone on HN want to take up that challenge? This story is definitely not the first DDG against Google story in the last few months.
- _bxg1 8y agoYou could do it pretty trivially with a pair of iframes and a text input EDIT: I tried to do just this, and both of them blocked it :( Refused to display 'https://www.google.com/?q=cheese' in a frame because it set 'X-Frame-Options' to 'sameorigin'. Refused to display 'https://duckduckgo.com/?q=cheese' in a frame because an ancestor violates the following Content Security Policy directive: "frame-ancestors 'self'".
- londons_explore 8y agoIframes are pretty much dead on the web for this reason. It's kinda lame, because it means the web platform is incapable of making a web browser, which is sort of the 'turing test' for a platform/programming language.
- _bxg1 8y agoNot true - people have made browsers in Electron. The permission-denial above would have to be respected by the browser itself; it'd be easy to tell the server your iframe doesn't exist in a page from a different domain. The reason it exists at all, I'd assume, is for the security of the person using the browser. A malicious site could embed a legitimate site within itself, for purposes of misleading the user or scraping information. So if your app is using a highly-controlled iframe within itself, and it has the authority to overrule these blockers (which presumably Electron gives it), then you can do whatever you want. Also FWIW, iframes can still be useful on the regular web for third-party widgets, as well as same-domain pages.
- londons_explore 8y agoThe fact you have to use Electron kind of makes my point... If the web is a 'turing complete platform', then it should be possible to run a web browser in a web browser. So Chrome inside Chrome. That could be anywhere between the level of 'webassembly to run the whole thing', or it could be at the level of 'iframes give all the necessary functionality'. Today the first isn't viable because webpages can't make raw TCP sockets. The latter isn't viable because of the way sites can differentiate between iframes and the top level window. If I have to use a fork/modified copy of Chrome for the outer copy with slightly different rules, then it isn't capable of implementing itself. Imagine if gcc couldn't compile gcc - you needed to use a seperate compiler-compiler. It's the same thing.