Code view:
From the node mapping Only one solution
A painting is a person's account of this edit as text , recorded independently of the node mapping - a rendering often has several equally defensible answers where the mapping has one. Deletions and insertions carry no position on the opposite side in a painting, so that panel draws no caret for them.
Before
1 <!DOCTYPE html> <html lang=en> <head> <meta charset=utf-8> <title>frps dashboard</title> <link rel="shortcut icon" href="favicon.ico"></head> <body> <div id=app></div> <script type="text/javascript" src=" manifest.js?facf06d98c7e1aea259d "></script><script type="text/javascript" src=" vendor.js?a05a344be2b42183469b "></script><script type="text/javascript" src=" index.js?a914c2dc7a5bb16ad443 "></script></body> </html>
After
1 <!DOCTYPE html> <html lang=en> <head> <meta charset=utf-8> <title>frps dashboard</title> <link rel="shortcut icon" href="favicon.ico"></head> <body> <div id=app></div> <script type="text/javascript" src=" manifest.js?435cfd78dcd5256c2c54 "></script><script type="text/javascript" src=" vendor.js?c2d294f9c0a40fd7073a "></script><script type="text/javascript" src=" index.js?62174b39217d6eeecb97 "></script></body> </html>
Before
1 <!DOCTYPE html> <html lang=en> <head> <meta charset=utf-8> <title>frps dashboard</title> <link rel="shortcut icon" href="favicon.ico"></head> <body> <div id=app></div> <script type="text/javascript" src="manifest.js?facf06d98c7e1aea259d "></script><script type="text/javascript" src="vendor.js?a05a344be2b42183469b "></script><script type="text/javascript" src="index.js?a914c2dc7a5bb16ad443 "></script></body> </html>
After
1 <!DOCTYPE html> <html lang=en> <head> <meta charset=utf-8> <title>frps dashboard</title> <link rel="shortcut icon" href="favicon.ico"></head> <body> <div id=app></div> <script type="text/javascript" src="manifest.js?435cfd78dcd5256c2c54 "></script><script type="text/javascript" src="vendor.js?c2d294f9c0a40fd7073a "></script><script type="text/javascript" src="index.js?62174b39217d6eeecb97 "></script></body> </html>
Before
document doctype <! "<!"
doctype "DOCTYPE"
> ">"
element start_tag < "<"
tag_name "html"
attribute attribute_name "lang"
= "="
attribute_value "en"
> ">"
element (+47 nodes collapsed)
element start_tag < "<"
tag_name "body"
> ">"
element start_tag < "<"
tag_name "div"
attribute attribute_name "id"
= "="
attribute_value "app"
> ">"
end_tag </ "</"
tag_name "div"
> ">"
script_element start_tag < "<"
tag_name "script"
attribute attribute_name "type"
= "="
quoted_attribute_value " "\""
attribute_value "text/javascript"
" "\""
attribute attribute_name "src"
= "="
quoted_attribute_value " "\""
attribute_value "manifest.js?facf06d98c7e1aea259d"
" "\""
> ">"
raw_text ""
end_tag </ "</"
tag_name "script"
> ">"
script_element start_tag < "<"
tag_name "script"
attribute attribute_name "type"
= "="
quoted_attribute_value " "\""
attribute_value "text/javascript"
" "\""
attribute attribute_name "src"
= "="
quoted_attribute_value " "\""
attribute_value "vendor.js?a05a344be2b42183469b"
" "\""
> ">"
raw_text ""
end_tag </ "</"
tag_name "script"
> ">"
script_element start_tag < "<"
tag_name "script"
attribute attribute_name "type"
= "="
quoted_attribute_value " "\""
attribute_value "text/javascript"
" "\""
attribute attribute_name "src"
= "="
quoted_attribute_value " "\""
attribute_value "index.js?a914c2dc7a5bb16ad443"
" "\""
> ">"
raw_text ""
end_tag </ "</"
tag_name "script"
> ">"
end_tag </ "</"
tag_name "body"
> ">"
end_tag </ "</"
tag_name "html"
> ">"
After
document doctype <! "<!"
doctype "DOCTYPE"
> ">"
element start_tag < "<"
tag_name "html"
attribute attribute_name "lang"
= "="
attribute_value "en"
> ">"
element (+47 nodes collapsed)
element start_tag < "<"
tag_name "body"
> ">"
element start_tag < "<"
tag_name "div"
attribute attribute_name "id"
= "="
attribute_value "app"
> ">"
end_tag </ "</"
tag_name "div"
> ">"
script_element start_tag < "<"
tag_name "script"
attribute attribute_name "type"
= "="
quoted_attribute_value " "\""
attribute_value "text/javascript"
" "\""
attribute attribute_name "src"
= "="
quoted_attribute_value " "\""
attribute_value "manifest.js?435cfd78dcd5256c2c54"
" "\""
> ">"
raw_text ""
end_tag </ "</"
tag_name "script"
> ">"
script_element start_tag < "<"
tag_name "script"
attribute attribute_name "type"
= "="
quoted_attribute_value " "\""
attribute_value "text/javascript"
" "\""
attribute attribute_name "src"
= "="
quoted_attribute_value " "\""
attribute_value "vendor.js?c2d294f9c0a40fd7073a"
" "\""
> ">"
raw_text ""
end_tag </ "</"
tag_name "script"
> ">"
script_element start_tag < "<"
tag_name "script"
attribute attribute_name "type"
= "="
quoted_attribute_value " "\""
attribute_value "text/javascript"
" "\""
attribute attribute_name "src"
= "="
quoted_attribute_value " "\""
attribute_value "index.js?62174b39217d6eeecb97"
" "\""
> ">"
raw_text ""
end_tag </ "</"
tag_name "script"
> ">"
end_tag </ "</"
tag_name "body"
> ">"
end_tag </ "</"
tag_name "html"
> ">"
Keybindings
j / k next / previous visible node (tree panels)
h / l collapse / expand the focused node
g / G jump to first / last visible node
Tab switch focus between Before/After panels
/ search: jump to next node whose text contains a given string
a jump the other panel to this node's mapped counterpart
i hide identical matches, showing only inserted/deleted/updated nodes and their ancestors
v cycle the view: split / code only / tree only
p cycle what the code view renders: the node mapping, then each human painting
r mark this fixture as reviewed, or forget the mark (kept in this browser only)
n open a random fixture not yet marked as reviewed
? toggle this help
Search (plain substring, no regex):