- Text based browser that runs JavaScript
- 5 Answers 5
- edbrowse
- Browser with javascript support
- Chrome
- Edge
- Safari
- Firefox
- Opera
- IE
- Chrome for Android
- Safari on iOS
- Samsung Internet
- Opera Mini
- Opera Mobile
- UC Browser for Android
- Android Browser
- Firefox for Android
- QQ Browser
- Baidu Browser
- KaiOS Browser
- Can I use.
- Support via Patreon
- Site links
- Legend
Text based browser that runs JavaScript
I tried lynx and elinks ( sudo apt-get install . ), both not supporting JS.
@dotVezz If you prove me that, I will give you 100 points. 🙂 Add an answer with the instructions and I will review it. 🙂
I should have done some google-fu before I commented. Javascript support is not available by default. Both it and elinks have an —enable-javascript compile flag. By default, «JavaScript support was removed in release 2.1pre29 because it was buggy.» So in other words. I probably wouldn’t bother with links and elinks.
5 Answers 5
// , Consider brow.sh, because of its low bandwidth but extremely flexible support for different kinds of web pages:
It also has a clever way of using True color support in terminals to render images, and supports modern replacements for SSH like MOSH.
html.brow.sh
Uses very basic graphics and HTML anchor tags. Although this service may appear similar to the terminal client it does not yet have feature parity.text.brow.sh
Uses nothing but pure text, better for usage with curl, for instance.
For a demo of the browser, ssh brow.sh
You can also install it via docker pull :
Because brow.sh is Firefox under the hood, you can install Adblock and other extensions.
Since browsh requires a mouse for interacting with the document, I don’t think it is very well suitable for terminal usage
Lynx does not support JavaScript, but Links does:
sudo apt-get install links
then to compile Links with JavaScript support, use the configure option —enable-javascript be aware that is buggy according to the documentation.
Tried it, I successfully compiled it but I don’t see any difference. I opened an HTML file containing alert(1) but nothing is displayed.
Even if you compile it with JavaScript, I think you have to separately enable it in the configuration. See links.twibright.com/user_en.html#ap-javascript
@IonicăBizău using alert is not the best test, because there’s a difference between «running Javascript» and «showing alert boxes». It’s better to test with document.write(«hello world») to put the test text into the document itself, because quite a few browsers that are perfectly Javascript capable may be set to suppress alert boxes, so «yes we support Javascript but not alert boxes» is a reasonable position (so if you specifically want support for alert boxes then I’m afraid you have to say so☺)
2017 solution:
Here’s a solution for rendering html+js in the terminal:
- Chrome 59 or greater
- Using chrome in headless mode allows you to render a page with javascript through the terminal!
- (it outputs raw html though)
- Hermit
- Simply renders raw html to readable text in the terminal!
Example Usage:
$ google-chrome --headless --disable-gpu --dump-dom https://javatester.org/javascript.html | hermit $ chromium --headless --disable-gpu --dump-dom https://javatester.org/javascript.html |html2text
. Your web browser supports JavaScript version 1.7 .
I tried it but got: IS WORKING JavaScript IS WORKING in your web browser JavaScript IS NOT WORKING in your web browser. Any idea what went wrong? Should I enable javascript in chrome (though only command line)? Thanks!
@Matifou that happened because the test page’s «not working» text is in a
Incidentally you can avoid installing Hermit by using lynx -stdin -dump -nolist instead of hermit , but either way you will get text from
As of v0.23, Web Adjuster has a PhantomJS option, which can partially Javascript-enable any browser with the help of PhantomJS. I say «partially» because it’s not (yet?) working with POST forms and Javascript-only links, but it’s fine for reading the text of a page which requires Javascript before showing you that text.
sudo apt-get install python-selenium # or sudo yum install python-selenium wget https://bitbucket.org/ariya/phantomjs/downloads/phantomjs-2.1.1-linux-i686.tar.bz2 tar -jxvf phantomjs-2.1.1-linux-i686.tar.bz2 cd phantomjs-2.1.1-linux-i686/ sudo mv bin/phantomjs /usr/local/bin/ cd .. sudo apt-get install python-tornado # or sudo pip-install tornado wget http://ssb22.user.srcf.net/adjuster/adjuster.py python adjuster.py --js_interpreter=PhantomJS --real_proxy
and in another window or tab
http_proxy=http://localhost:28080 lynx http://site-that-needs-javascript.example.com/
Disclosure: Web Adjuster maintainer here.
I tried the solution proposed by @silas-s-brown. adjuster.py wants ` sudo apt install firefox-geckodriver python adjuster.py —js_interpreter=HeadlessFirefox —real_proxy ` I get the error messages: Web Adjuster v0.305 (c) 2012-20 Silas S. Brown Licensed under the Apache License, Version 2.0 Listening on port 28080 Starting 1 webdriver. done
Daisukes’s comment continued from above: [E 200620 10:15:28 adjuster:2427] Exception (
@DaisukeAramaki Thank you for noting your experience. I recommend contacting Silas so they can troubleshoot with you.
My answer is in need of an update: as @DaisukeAramaki found, more recent versions of Web Adjuster changed the old —PhantomJS option into —js_interpreter because there are now 3 to choose from (PhantomJS, HeadlessFirefox or HeadlessChrome). Since PhantomJS is no longer maintained, I now recommend using HeadlessFirefox or HeadlessChrome, and only using PhantomJS as a last resort if you’re unable to install either of the others on the machine you’re using. But for the record, I think phantomjs exit code 127 can mean it couldn’t execute the binary (e.g. wrong architecture, or path issues).
edbrowse
Non-pseudographical browser, ed -like interface.
$ edbrowse http://softwarerecs.stackexchange.com/ no ssl certificate file specified; secure connections cannot be verified no trailing newline 74558 6590 # Let's print the beginning of the page 1,20p * * your communities or to customize your list. # Seach field is not here yet. # Pressing "Enter" until we find it * * * <> # Here it is. Let's find the line number n 32 28,32n 28 * 29 * 30 <> 31 32 30 <> # We are now focused on the search field. i=text browser i* submitting form 76944 10997 # OK, we have searched. Let's enumerate the results. # First 30 lines are probably fluff, so begin with 40'th line 40,60p * Search | 127 results 10 votes 1answer # Pressing Enter for more lines I am searching for a text browser running JavaScript. It should be compatible with Linux platform. Other features: # OK, we are here. Let's follow the link n 63 It should be compatible with Linux platform. Other features: 58,62n 58 10 59 votes 60 1answer 61 62 I am searching for a text browser running JavaScript. 61 g 74946 7226 50,80p up vote 10 down vote 1 I am searching for a text browser running JavaScript. It should be compatible with Linux platform. Other features: * run JavaScript (this is the most important) * minor CSS rendering (text colors, background colors, borders maybe) * support XHR (is supposed to do if it runs js) * run in command line (terminal) Any recommendations? I tried lynx and elinks (sudo apt-get install . ), both not supporting JS. asked Sep 22 '14 at 18:02 3589 | 2 Call me crazy, but I think supports javascript. - Sep 23 '14 at 16:38 @dotVezz If you prove me that, I will give you 100 points. :smile: Add an answer with the instructions and I will review it. :-) - Sep 23 '14 at 16:54 I should have done some google-fu before I commented. Javascript support is not available by default. Both it and elinks have an --enable-javascript compile flag. By default, "" So in other words. I probably wouldn't bother with links and elinks. - Sep 23 '14 at 19:47 add a comment # Let's try to add a comment n 107 100,107n 100 By default, "" So in other words. I probably wouldn't bother with links and elinks. 102 - Sep 23 '14 at 19:47 103 104 105 add a comment 106 107 105 add a comment # OK, enough for now. # I don't know why "add a comment" is not shown as a link q
Browser with javascript support
Support for the ECMAScript 2015 specification. Features include Promises, Modules, Classes, Template Literals, Arrow Functions, Let and Const, Default Parameters, Generators, Destructuring Assignment, Rest & Spread, Map/Set & WeakMap/WeakSet and many more.
Chrome
- 4 — 20 : Not supported
- 21 — 50 : Partial support
- 51 — 114 : Supported
- 115 : Supported
- 116 — 118 : Supported
Edge
- 12 — 14 : Partial support
- 15 — 18 : Supported
- 79 — 114 : Supported
- 115 : Supported
Safari
- 3.1 — 7 : Not supported
- 7.1 — 9.1 : Partial support
- 10 — 16.4 : Supported
- 16.5 : Supported
- 16.6 — TP : Supported
Firefox
- 2 — 5 : Not supported
- 6 — 53 : Partial support
- 54 — 114 : Supported
- 115 : Supported
- 116 — 117 : Supported
Opera
- 9 — 12.1 : Not supported
- 15 — 37 : Partial support
- 38 — 99 : Supported
- 100 : Supported
IE
Chrome for Android
Safari on iOS
- 3.2 — 6.1 : Not supported
- 7 — 9.3 : Partial support
- 10 — 16.4 : Supported
- 16.5 : Supported
- 16.6 — 17 : Supported
Samsung Internet
Opera Mini
Opera Mobile
UC Browser for Android
Android Browser
Firefox for Android
QQ Browser
Baidu Browser
KaiOS Browser
As ES6 refers to a huge specification and browsers have various levels of support, «Supported» means at least 95% of the spec is supported. «Partial support» refers to at least 10% of the spec being supported. For full details see the Kangax ES6 support table.
Can I use.
Browser support tables for modern web technologies
Created & maintained by @Fyrd, design by @Lensco.
Support data contributions by the GitHub community.
Usage share statistics by StatCounter GlobalStats for June, 2023
Location detection provided by ipinfo.io.
Support via Patreon
Become a caniuse Patron to support the site for only $1/month!
Site links
Legend
- Green = Supported
- Red = Not supported
- Greenish yellow = Partial support
- Gray = Support unknown