blob: 6c03b14d661b085a64b187df80e4ac68a99e5af1 [file] [log] [blame]
<!DOCTYPE HTML>
<html>
<!--
Copyright 2012 Google Inc. All Rights Reserved.
Use of this source code is governed by an Apache 2.0 License.
See the COPYING file for details.
-->
<head>
<title>BidiChecker Bookmarklet Installation Page</title>
<link href="bookmarklet.css" rel="stylesheet" type="text/css">
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
<!-- We load the GUI code to validate that it's installed as required. -->
<script src="gui-app/gui_compiled.js"></script>
<script>
function validateInstallation() {
var protocol = window.location.protocol;
if (protocol != 'http:' && protocol != 'https:') {
return 'The URL must begin with http: or https:';
}
if (!window.bidichecker) {
return '"bidichecker" namespace is not loaded - ' +
'is bidichecker_packaged.js missing?';
}
if (!window.bidichecker.gui) {
return '"bidichecker.gui" namespace is not loaded - ' +
'is gui_compiled.js missing?';
}
}
function alertFailedInstallation(errorMessage) {
var errorDiv = document.getElementById('installation-error');
var messageDiv = document.getElementById('error-message');
var htmlMessage =
'Error: <span style="font-weight: bold">' + errorMessage +
'<\/span><\/p>';
document.getElementById('ltr-bookmarklet').href = 'about:blank';
document.getElementById('rtl-bookmarklet').href = 'about:blank';
errorDiv.style.display = 'block';
messageDiv.innerHTML = htmlMessage;
}
function init() {
var errorMessage = validateInstallation();
if (errorMessage) {
alertFailedInstallation(errorMessage);
}
var locationUrl = window.location.toString();
var lastSlash = locationUrl.lastIndexOf('/');
var baseUrl = locationUrl.substr(0, lastSlash);
var scriptUrl = baseUrl + '/bidichecker_packaged.js';
var guiAppUrl = baseUrl + '/gui-app/errorpage.html';
document.getElementById('ltr-bookmarklet').href =
bidichecker.generateBookmarklet({}, scriptUrl, guiAppUrl);
document.getElementById('rtl-bookmarklet').href =
bidichecker.generateBookmarklet({dir: 'rtl'}, scriptUrl, guiAppUrl);
}
// Notify the user on any error (result of failure to load script, etc.).
// Otherwise the user would be silently left with non-functional
// bookmarklets.
window.onerror = alertFailedInstallation;
</script>
</head>
<body onload="init();">
<div id='installation-error'>
<p>BidiChecker does not appear to be correctly installed at this location!
The bookmarklet links on this page have been disabled.</p>
<div id='error-message'></div>
<p>For this bookmarklet installation page to work, it must be
installed on a web server and accessed via
<span class="inline-code">http:</span> or
<span class="inline-code">https:</span>.</p>
<p>It must be installed along with the complete BidiChecker deployment
directory.
That's the
<a href="http://code.google.com/p/bidichecker/source/browse/#svn/trunk/lib">lib/ subdirectory in the source tree.</a>
</p>
</div>
<h1>BidiChecker Bookmarklet Installation Page</h1>
<h2>What is a BidiChecker Bookmarklet?</h2>
<p>A "BidiChecker Bookmarklet" is a button you can add to your web browser
that will run
<a href="http://code.google.com/p/bidichecker/">BidiChecker</a>
on any web page, displaying any bidi errors in an interactive window.
<h2>How do I install one?</h2>
<p>Just drag one or both of the links below to your browser's Bookmarks
toolbar. This will create a button on the Bookmarks toolbar. You can then
click the button to run BidiChecker on the current page for ad hoc
spot-checking. (You may first have to make the Bookmarks toolbar visible
in your browser; each browser has a command or menu option to do
this.)</p>
<table>
<tr>
<td>
<a href='#' id='ltr-bookmarklet' onclick="return false;">
BidiChecker LTR
</a>
</td>
<td>
<a href='#' id='rtl-bookmarklet' onclick="return false;">
BidiChecker RTL
</a>
</td>
</tr>
<tr>
<td>This bookmarklet checks that the page being checked has an overall
directionality of left-to-right (for example, an English UI)</td>
<td>This bookmarklet checks that the page being checked has an
overall directionality of right-to-left (for example, a Hebrew or
Arabic UI)</td>
</tr>
</table>
<h2>How do I use it?</h2>
<p>To run BidiChecker, just navigate your browser to the page you want to
test, interact with the page to get it into the state you want to test,
and click on one of the BidiChecker bookmarklets in your browser's
bookmarks toolbar. A window will appear with the results of the
run. You can browse through the errors, change the table sort key, and
select an individual error to highlight its location on the page.</p>
<p>Click "Show options" to change the checker options; from that page,
you can also install a new bookmarklet that starts with the set of
options you configure.</p>
<h2>Known limitations</h2>
<p>The bookmarklet works on most recent browsers. Internet Explorer 9 and up
is supported but not older versions.</p>
<h2>Acknowledgments</h2>
<p>We'd like to thank
<a href="http://chris.improbable.org/">developer/blogger Chris Adams</a>
for
<a href="http://chris.improbable.org/2010/11/4/google-bidichecker-bookmarklet/">demonstrating
the BidiChecker bookmarklet concept</a>. His original source code can be
found <a href="https://gist.github.com/662454">here on GitHub</a>.</p>
<p>The bookmarklet links we offer here differ somewhat from Chris's
implementation, but the basic concept is the same.</p>
</body>
</html>