一部のhtmlを文字列に変換するブックマークレットは、window.location
とdocument.write()
の組み合わせを使用して表示しますか?
var links = "<html><head><title>Suggested links</title></head><body>";
links += "<p><a href='http://example.com/'>Example Suggested Link</a></p>";
links += "</body></html>";
window.location = 'javascript:document.write("' + links + '");' ;
あなたが右の文字列が表示されることを確認するために、あなたが引用して注意する必要がありますが、簡単なテストの後に、それはバックボタンを尊重しているようだ...
は、ここにサンプルです: http://jsbin.com/ebuko4 - それはFirefoxで私の作品が、私は他の場所でそれをテストしていない...
コードは次のとおりです。
<html>
<head>
<title>JS Bin Sample bookmarklet</title>
</head>
<body>
<p><a href='javascript:(function(){ var l = "<html><head><title>Does this bookmarklet work?</title></head><body><p>"+ "<a href=\"http://example.com/\">Suggested link: Example.com</a></p>" + "<p><a href=\"http://example.net/\">Suggested link: Example.net</a></p>" + "</bo" + "dy></html>"; window.location = "javascript:document.write(%27" + l + "%27);"; })()'>Sample Bookmarklet - drag me to your toolbar</a></p>
</body>
</html>
ウェブサイトをリダイレクトすると、少なくともそのURLはブラウザの履歴の一部となり、簡単に戻ることができます。静的なHTML + Javascriptページを1人ホストする必要があります。 – joeytwiddle