<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Recent changes to HowTo</title><link>https://sourceforge.net/p/pgn4web/wiki/HowTo/</link><description>Recent changes to HowTo</description><atom:link href="https://sourceforge.net/p/pgn4web/wiki/HowTo/feed" rel="self"/><language>en</language><lastBuildDate>Sun, 08 May 2016 15:38:26 -0000</lastBuildDate><atom:link href="https://sourceforge.net/p/pgn4web/wiki/HowTo/feed" rel="self" type="application/rss+xml"/><item><title>HowTo modified by Paolo Casaschi</title><link>https://sourceforge.net/p/pgn4web/wiki/HowTo/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v6
+++ v7
@@ -52,8 +52,6 @@
         SetLiveBroadcast(1, false, false, false, false); // set live broadcast; parameters are delay (refresh delay in minutes, 0 means no broadcast, default 0) alertFlag (if true, displays debug error messages, default false) demoFlag (if true starts broadcast demo mode, default false) stepFlag (if true, autoplays updates in steps, default false) endlessFlag (if true, keeps polling for new moves even after all games are finished)

       &amp;lt;/script&amp;gt;
-
-Please note that HTML pages using the SetPgnUrl() option will fail when tested from a local disk: avoid testing from your local disk and use a web server instead. 

 Then the script will automagically add content into your HTML file to any `div` or `span` containers with the following `id` values: 

&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Paolo Casaschi</dc:creator><pubDate>Sun, 08 May 2016 15:38:26 -0000</pubDate><guid>https://sourceforge.netaf90c3d5f9930537f3beec21cf49df75e3d14318</guid></item><item><title>HowTo modified by Paolo Casaschi</title><link>https://sourceforge.net/p/pgn4web/wiki/HowTo/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v5
+++ v6
@@ -52,6 +52,8 @@
         SetLiveBroadcast(1, false, false, false, false); // set live broadcast; parameters are delay (refresh delay in minutes, 0 means no broadcast, default 0) alertFlag (if true, displays debug error messages, default false) demoFlag (if true starts broadcast demo mode, default false) stepFlag (if true, autoplays updates in steps, default false) endlessFlag (if true, keeps polling for new moves even after all games are finished)

       &amp;lt;/script&amp;gt;
+
+Please note that HTML pages using the SetPgnUrl() option will fail when tested from a local disk: avoid testing from your local disk and use a web server instead. 

 Then the script will automagically add content into your HTML file to any `div` or `span` containers with the following `id` values: 

&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Paolo Casaschi</dc:creator><pubDate>Sun, 08 May 2016 15:19:50 -0000</pubDate><guid>https://sourceforge.net2307ee5c229a920d1c8ba9417d3cce172148ed2e</guid></item><item><title>HowTo modified by Paolo Casaschi</title><link>https://sourceforge.net/p/pgn4web/wiki/HowTo/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v4
+++ v5
@@ -128,7 +128,7 @@
         font-family: 'pgn4web ChessSansPiratf', 'pgn4web Liberation Sans', sans-serif;
       }

-When using chess figurine fonts it's strongly recommended to activate the _smooth fonts display_ feature of the client operating system. 
+When using chess figurine fonts it's strongly recommended to activate the _smooth fonts display_ feature of the client operating system (active by default on most current systems). 

 See the **template.html** and **template.css** files for an example. 

&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Paolo Casaschi</dc:creator><pubDate>Thu, 18 Feb 2016 10:45:48 -0000</pubDate><guid>https://sourceforge.netb654b3dcf9e8d3434c3ab71db25d6f469da25e61</guid></item><item><title>HowTo modified by Paolo Casaschi</title><link>https://sourceforge.net/p/pgn4web/wiki/HowTo/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v3
+++ v4
@@ -49,7 +49,7 @@
         SetInitialHalfmove(0,false); // halfmove number to be shown at load, 0 (default) for start position; values (keep the quotes) of "start", "end", "random", "comment" (go to first comment or variation), "variation" (go to the first variation) are also accepted. Second parameter if true applies the setting to every selected game instead of startup only (default)
         SetShortcutKeysEnabled(false);

-        SetLiveBroadcast(1, false, false, false); // set live broadcast; parameters are delay (refresh delay in minutes, 0 means no broadcast, default 0) alertFlag (if true, displays debug error messages, default false) demoFlag (if true starts broadcast demo mode, default false) stepFlag (if true, autoplays updates in steps, default false)
+        SetLiveBroadcast(1, false, false, false, false); // set live broadcast; parameters are delay (refresh delay in minutes, 0 means no broadcast, default 0) alertFlag (if true, displays debug error messages, default false) demoFlag (if true starts broadcast demo mode, default false) stepFlag (if true, autoplays updates in steps, default false) endlessFlag (if true, keeps polling for new moves even after all games are finished)

       &amp;lt;/script&amp;gt;

&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Paolo Casaschi</dc:creator><pubDate>Wed, 09 Dec 2015 16:00:43 -0000</pubDate><guid>https://sourceforge.net036caca38af77dceb4e54fbc006ee173246cf2dc</guid></item><item><title>HowTo modified by Paolo Casaschi</title><link>https://sourceforge.net/p/pgn4web/wiki/HowTo/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v2
+++ v3
@@ -1,6 +1,6 @@
 # Applications notes: [HowTo](HowTo)

-&amp;gt; _"Always use [the latest release of pgn4web](http://code.google.com/p/pgn4web/downloads/list); when using pgn4web for official events and for live broadcasts, **[read this first](ReadMeFirst_Deployment)** and don't hesitate [contacting the pgn4web project](mailto:pgn4web@casaschi.net) for support!"_  
+&amp;gt; _"Always use [the latest release of pgn4web](pgn4web-downloads.casaschi.net); when using pgn4web for official events and for live broadcasts, **[read this first](ReadMeFirst_Deployment)** and don't hesitate [contacting the pgn4web project](mailto:pgn4web@casaschi.net) for support!"_  
 the pgn4web project 

 ## debugging
&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Paolo Casaschi</dc:creator><pubDate>Sat, 14 Mar 2015 14:28:43 -0000</pubDate><guid>https://sourceforge.netec208ce2b7152e08cac545821ac38b7bad77a0d2</guid></item><item><title>HowTo modified by Paolo Casaschi</title><link>https://sourceforge.net/p/pgn4web/wiki/HowTo/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Paolo Casaschi</dc:creator><pubDate>Sat, 14 Mar 2015 01:23:10 -0000</pubDate><guid>https://sourceforge.net49cefe4abc0104372dc35b872af1a8dc3a74a482</guid></item><item><title>Discussion for HowTo page</title><link>https://sourceforge.net/p/pgn4web/wiki/HowTo/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;Originally posted by: &lt;a class="" href="http://code.google.com/u/113875674843565842106" rel="nofollow"&gt;pa...@casaschi.net&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;custom font display and Internet Explorer 9 issue&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Current version of Internet Explorer 9 (9.0.8112.16421 at the moment of writing) seem to have an issue with applying a custom font to the body element as suggested in the notes above. As a result the proposed &lt;code&gt;.body&lt;/code&gt; statement might not work as expected with Internet Explorer 9. &lt;/p&gt;
&lt;p&gt;A possible fix is to manually assign the custom font to every relevant element, with a statement like the following: &lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;  &lt;span class="n"&gt;div&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;span&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;table&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;tr&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;td&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="n"&gt;font&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;family&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="err"&gt;'&lt;/span&gt;&lt;span class="n"&gt;pgn4web&lt;/span&gt; &lt;span class="n"&gt;Liberation&lt;/span&gt; &lt;span class="n"&gt;Sans&lt;/span&gt;&lt;span class="err"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;sans&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;serif&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="cm"&gt;/* fixes IE9 body css issue */&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Anonymous</dc:creator><pubDate>Sat, 14 Mar 2015 01:10:22 -0000</pubDate><guid>https://sourceforge.net935465fd5e3d88ef2fb9a29aad482be3c7897a9b</guid></item><item><title>HowTo modified by Anonymous</title><link>https://sourceforge.net/p/pgn4web/wiki/HowTo/</link><description>&lt;div class="markdown_content"&gt;&lt;h1 id="applications-notes-howto"&gt;Applications notes: &lt;a class="" href="/p/pgn4web/wiki/HowTo"&gt;HowTo&lt;/a&gt;&lt;/h1&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;"Always use &lt;a class="" href="http://code.google.com/p/pgn4web/downloads/list" rel="nofollow"&gt;the latest release of pgn4web&lt;/a&gt;; when using pgn4web for official events and for live broadcasts, &lt;strong&gt;&lt;a class="" href="../ReadMeFirst_Deployment"&gt;read this first&lt;/a&gt;&lt;/strong&gt; and don't hesitate &lt;a class="" href="mailto:pgn4web@casaschi.net"&gt;contacting the pgn4web project&lt;/a&gt; for support!"&lt;/em&gt;&lt;br /&gt;
the pgn4web project &lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="debugging"&gt;debugging&lt;/h2&gt;
&lt;p&gt;pgn4web logs errors alert messages (such as failure to load PGN data, incorrect PGN games or incorrect FEN strings) and signals those by flashing unintrusively the chessboard at regular intervals. Please refer to the &lt;a class="" href="../HowTo_Debugging"&gt;debugging page&lt;/a&gt; for more information and for an example. &lt;/p&gt;
&lt;h2 id="enabling-pgn4web-in-your-html-file"&gt;enabling pgn4web in your HTML file&lt;/h2&gt;
&lt;p&gt;To enable pgn4web, add a &lt;code&gt;script&lt;/code&gt; instance at the top of your HTML file: &lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;  &lt;span class="nt"&gt;&amp;lt;script&lt;/span&gt; &lt;span class="na"&gt;src=&lt;/span&gt;&lt;span class="s"&gt;"pgn4web.js"&lt;/span&gt; &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"text/javascript"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/script&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;The PGN input can be specified either as URL within another &lt;code&gt;script&lt;/code&gt; instance with at least the call to &lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;  &lt;span class="n"&gt;SetPgnUrl&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"yourpath/yourfile.pgn"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;and optionally any of the other calls listed below. &lt;/p&gt;
&lt;p&gt;Or the PGN file can be pasted in the body of the HTML file within a hidden &lt;code&gt;form&lt;/code&gt; / &lt;code&gt;textarea&lt;/code&gt; statement with &lt;code&gt;id=pgnText&lt;/code&gt;: &lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;  &lt;span class="c"&gt;&amp;lt;!-- paste your PGN below and make sure you dont specify an external source with SetPgnUrl() --&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;form&lt;/span&gt; &lt;span class="na"&gt;style=&lt;/span&gt;&lt;span class="s"&gt;"display: none;"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;textarea&lt;/span&gt; &lt;span class="na"&gt;style=&lt;/span&gt;&lt;span class="s"&gt;"display: none;"&lt;/span&gt; &lt;span class="na"&gt;id=&lt;/span&gt;&lt;span class="s"&gt;"pgnText"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;

  ... your PGN text ...

  &lt;span class="nt"&gt;&amp;lt;/textarea&amp;gt;&amp;lt;/form&amp;gt;&lt;/span&gt;
  &lt;span class="c"&gt;&amp;lt;!-- paste your PGN above and make sure you dont specify an external source with SetPgnUrl() --&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Example: &lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;  &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;script&lt;/span&gt; &lt;span class="n"&gt;type&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"text/javascript"&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="s"&gt;"use strict"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

    &lt;span class="n"&gt;SetPgnUrl&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"yourpath/yourfile.pgn"&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
    &lt;span class="n"&gt;SetImagePath&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"images"&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
    &lt;span class="n"&gt;SetImageType&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"png"&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
    &lt;span class="n"&gt;SetHighlightOption&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;true&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; &lt;span class="c1"&gt;// true or false&lt;/span&gt;
    &lt;span class="n"&gt;SetGameSelectorOptions&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;null&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nb"&gt;false&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;15&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;15&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;10&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; &lt;span class="c1"&gt;// (head, num, chEvent, chSite, chRound, chWhite, chBlack, chResult, chDate);&lt;/span&gt;
    &lt;span class="n"&gt;SetCommentsIntoMoveText&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;false&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
    &lt;span class="n"&gt;SetCommentsOnSeparateLines&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;false&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
    &lt;span class="n"&gt;SetAutoplayDelay&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;1000&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; &lt;span class="c1"&gt;// milliseconds&lt;/span&gt;
    &lt;span class="n"&gt;SetAutostartAutoplay&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;false&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
    &lt;span class="n"&gt;SetAutoplayNextGame&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;false&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; &lt;span class="c1"&gt;// if set, move to the next game at the end of the current game during autoplay&lt;/span&gt;
    &lt;span class="n"&gt;SetInitialGame&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; &lt;span class="c1"&gt;// number of game to be shown at load, from 1 (default); values (keep the quotes) of "first", "last", "random" are accepted; other string values assumed as PGN search string&lt;/span&gt;
    &lt;span class="n"&gt;SetInitialVariation&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; &lt;span class="c1"&gt;// number for the variation to be shown at load, 0 (default) for main variation&lt;/span&gt;
    &lt;span class="n"&gt;SetInitialHalfmove&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="nb"&gt;false&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; &lt;span class="c1"&gt;// halfmove number to be shown at load, 0 (default) for start position; values (keep the quotes) of "start", "end", "random", "comment" (go to first comment or variation), "variation" (go to the first variation) are also accepted. Second parameter if true applies the setting to every selected game instead of startup only (default)&lt;/span&gt;
    &lt;span class="n"&gt;SetShortcutKeysEnabled&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;false&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

    &lt;span class="n"&gt;SetLiveBroadcast&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nb"&gt;false&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nb"&gt;false&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nb"&gt;false&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; &lt;span class="c1"&gt;// set live broadcast; parameters are delay (refresh delay in minutes, 0 means no broadcast, default 0) alertFlag (if true, displays debug error messages, default false) demoFlag (if true starts broadcast demo mode, default false) stepFlag (if true, autoplays updates in steps, default false)&lt;/span&gt;

  &lt;span class="o"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="n"&gt;script&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Then the script will automagically add content into your HTML file to any &lt;code&gt;div&lt;/code&gt; or &lt;code&gt;span&lt;/code&gt; containers with the following &lt;code&gt;id&lt;/code&gt; values: &lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;  &lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;id=&lt;/span&gt;&lt;span class="s"&gt;"GameSelector"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;id=&lt;/span&gt;&lt;span class="s"&gt;"GameSearch"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;id=&lt;/span&gt;&lt;span class="s"&gt;"GameLastMove"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;id=&lt;/span&gt;&lt;span class="s"&gt;"GameLastVariations"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;id=&lt;/span&gt;&lt;span class="s"&gt;"GameNextMove"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;id=&lt;/span&gt;&lt;span class="s"&gt;"GameNextVariations"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;id=&lt;/span&gt;&lt;span class="s"&gt;"GameSideToMove"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;id=&lt;/span&gt;&lt;span class="s"&gt;"GameLastComment"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;id=&lt;/span&gt;&lt;span class="s"&gt;"GameBoard"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;id=&lt;/span&gt;&lt;span class="s"&gt;"GameButtons"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;id=&lt;/span&gt;&lt;span class="s"&gt;"GameEvent"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;id=&lt;/span&gt;&lt;span class="s"&gt;"GameRound"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;id=&lt;/span&gt;&lt;span class="s"&gt;"GameSite"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;id=&lt;/span&gt;&lt;span class="s"&gt;"GameDate"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;id=&lt;/span&gt;&lt;span class="s"&gt;"GameWhite"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;id=&lt;/span&gt;&lt;span class="s"&gt;"GameBlack"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;id=&lt;/span&gt;&lt;span class="s"&gt;"GameResult"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;id=&lt;/span&gt;&lt;span class="s"&gt;"GameText"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/div&amp;gt;&lt;/span&gt;

  &lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;id=&lt;/span&gt;&lt;span class="s"&gt;"GameWhiteClock"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;id=&lt;/span&gt;&lt;span class="s"&gt;"GameBlackClock"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;id=&lt;/span&gt;&lt;span class="s"&gt;"GameLiveStatus"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;id=&lt;/span&gt;&lt;span class="s"&gt;"GameLiveLastRefreshed"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;id=&lt;/span&gt;&lt;span class="s"&gt;"GameLiveLastReceived"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;id=&lt;/span&gt;&lt;span class="s"&gt;"GameLiveLastModifiedServer"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;The file &lt;strong&gt;template.css&lt;/strong&gt; shows a list of customization style options. &lt;/p&gt;
&lt;p&gt;For better chessboard display, it is recommended to explicitly enforce chessboard and square size using the &lt;code&gt;.boardTable&lt;/code&gt;, &lt;code&gt;.whiteSquare&lt;/code&gt; and &lt;code&gt;.blackSquare&lt;/code&gt; CSS classes, such as: &lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;  &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;boardTable&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="n"&gt;width&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;&lt;span class="mi"&gt;326&lt;/span&gt;&lt;span class="n"&gt;px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="n"&gt;height&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;&lt;span class="mi"&gt;326&lt;/span&gt;&lt;span class="n"&gt;px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="n"&gt;border&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;width&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;&lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="n"&gt;px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="cm"&gt;/* account for chessboard and squares border here, if any */&lt;/span&gt; 
  &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;whiteSquare&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;blackSquare&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="n"&gt;width&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;&lt;span class="mi"&gt;40&lt;/span&gt;&lt;span class="n"&gt;px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="n"&gt;height&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;&lt;span class="mi"&gt;40&lt;/span&gt;&lt;span class="n"&gt;px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;See &lt;strong&gt;template.html&lt;/strong&gt; file for a general example. &lt;/p&gt;
&lt;p&gt;See &lt;strong&gt;mini.html&lt;/strong&gt; for an example of embedding the PGN content into the HTML file. &lt;/p&gt;
&lt;p&gt;The pgn4web scripts and pages are optimized for the HTML5 doctype declaration: &lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="o"&gt;&amp;lt;!&lt;/span&gt;&lt;span class="n"&gt;DOCTYPE&lt;/span&gt; &lt;span class="n"&gt;HTML&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;h1 id="chess-figurine-display-of-moves"&gt;chess figurine display of moves&lt;/h1&gt;
&lt;p&gt;pgn4web allows &lt;strong&gt;displaying chess moves text using the supplied figurine fonts&lt;/strong&gt;: &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;'pgn4web ChessSansAlpha'&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;'pgn4web ChessSansMerida'&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;'pgn4web ChessSansPiratf'&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;'pgn4web ChessSansUscf'&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;'pgn4web ChessSansUsual'&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;These fonts are based on the Liberation Sans font, see the &lt;a class="" href="/p/pgn4web/wiki/Credits_and_License"&gt;credits section&lt;/a&gt; for more details, that is provided as well for overall consistent display of moves, text and headers.&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;To enable figurine display of chess moves text, make sure you include the corresponding &lt;code&gt;fonts/pgn4web-font-ChessSansPiratf.css&lt;/code&gt; file toghether with the &lt;code&gt;font/pgn4web-font-LiberationSans.css&lt;/code&gt; file into your HTML file: &lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;  &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;link&lt;/span&gt; &lt;span class="n"&gt;href&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"fonts/pgn4web-font-LiberationSans.css"&lt;/span&gt; &lt;span class="n"&gt;type&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"text/css"&lt;/span&gt; &lt;span class="n"&gt;rel&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"stylesheet"&lt;/span&gt; &lt;span class="o"&gt;/&amp;gt;&lt;/span&gt;
  &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;link&lt;/span&gt; &lt;span class="n"&gt;href&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"fonts/pgn4web-font-ChessSansPiratf.css"&lt;/span&gt; &lt;span class="n"&gt;type&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"text/css"&lt;/span&gt; &lt;span class="n"&gt;rel&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"stylesheet"&lt;/span&gt; &lt;span class="o"&gt;/&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;or into your CSS file: &lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;  &lt;span class="err"&gt;@&lt;/span&gt;&lt;span class="n"&gt;import&lt;/span&gt; &lt;span class="n"&gt;url&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"fonts/pgn4web-font-LiberationSans.css"&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
  &lt;span class="err"&gt;@&lt;/span&gt;&lt;span class="n"&gt;import&lt;/span&gt; &lt;span class="n"&gt;url&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"fonts/pgn4web-font-ChessSansPiratf.css"&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Then set the font-family for the .move, .variation and .commentMove classes to the chess font of your choice and the rest of the page to the Liberation Sans font. For example in your CSS file: &lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;  &lt;span class="n"&gt;body&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="n"&gt;font&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;family&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="err"&gt;'&lt;/span&gt;&lt;span class="n"&gt;pgn4web&lt;/span&gt; &lt;span class="n"&gt;Liberation&lt;/span&gt; &lt;span class="n"&gt;Sans&lt;/span&gt;&lt;span class="err"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;sans&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;serif&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;
  &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;move&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;variation&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;commentMove&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="n"&gt;font&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;family&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="err"&gt;'&lt;/span&gt;&lt;span class="n"&gt;pgn4web&lt;/span&gt; &lt;span class="n"&gt;ChessSansPiratf&lt;/span&gt;&lt;span class="err"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="err"&gt;'&lt;/span&gt;&lt;span class="n"&gt;pgn4web&lt;/span&gt; &lt;span class="n"&gt;Liberation&lt;/span&gt; &lt;span class="n"&gt;Sans&lt;/span&gt;&lt;span class="err"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;sans&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;serif&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;When using chess figurine fonts it's strongly recommended to activate the &lt;em&gt;smooth fonts display&lt;/em&gt; feature of the client operating system. &lt;/p&gt;
&lt;p&gt;See the &lt;strong&gt;template.html&lt;/strong&gt; and &lt;strong&gt;template.css&lt;/strong&gt; files for an example. &lt;/p&gt;
&lt;h2 id="chess-informant-symbols"&gt;chess informant symbols&lt;/h2&gt;
&lt;p&gt;pgn4web allows for showing &lt;a class="" href="http://www.chessinformant.rs/system-of-signs" rel="nofollow"&gt;chess informant style symbols&lt;/a&gt; when the corresponding PGN NAGs (&lt;a class="" href="http://en.wikipedia.org/wiki/Numeric_Annotation_Glyphs" rel="nofollow"&gt;Numeric Annotation Glyphs&lt;/a&gt;) are found in the PGN comments. This feature is disabled by default; in order to enable it in your HTML page, please include the script below immediately after the main pgn4web script: &lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;  &lt;span class="nt"&gt;&amp;lt;script&lt;/span&gt; &lt;span class="na"&gt;src=&lt;/span&gt;&lt;span class="s"&gt;"pgn4web.js"&lt;/span&gt; &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"text/javascript"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/script&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;script&lt;/span&gt; &lt;span class="na"&gt;src=&lt;/span&gt;&lt;span class="s"&gt;"fonts/chess-informant-NAG-symbols.js"&lt;/span&gt; &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"text/javascript"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/script&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Warning:&lt;/strong&gt; unlike with figurine fonts, if the user's web browser does not fully support web fonts, there's not elegant textual fallback and the game comments will appear garbled or incorrect. &lt;/p&gt;
&lt;p&gt;See the &lt;strong&gt;chess-informant-template.html&lt;/strong&gt; and &lt;strong&gt;&lt;a class="" href="/p/pgn4web/wiki/Example_Collection"&gt;collection-example.thml&lt;/a&gt;&lt;/strong&gt; (chess informant sample) files for an example. &lt;/p&gt;
&lt;h2 id="customization-functions"&gt;customization functions&lt;/h2&gt;
&lt;p&gt;The following functions, if defined in the HTML file after loading &lt;code&gt;pgn4web.js&lt;/code&gt;, allow for execution of custom commands at given points: &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;customFunctionOnPgnTextLoad()&lt;/code&gt;: when loading a new PGN file &lt;/li&gt;
&lt;li&gt;&lt;code&gt;customFunctionOnPgnGameLoad()&lt;/code&gt;: when loading a new game &lt;/li&gt;
&lt;li&gt;&lt;code&gt;customFunctionOnMove()&lt;/code&gt;: when a move is made &lt;/li&gt;
&lt;li&gt;&lt;code&gt;customFunctionOnAlert(message_string)&lt;/code&gt;: when an error alert is raised &lt;/li&gt;
&lt;li&gt;&lt;code&gt;customFunctionOnCheckLiveBroadcastStatus()&lt;/code&gt;: when a live broadcast is checked &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Please note the order these functions are executed; for example, when loading a new PGN file at the end of the first game, first &lt;code&gt;customFunctionOnMove()&lt;/code&gt; is executed, then (when the game has been loaded and the move positioning completed) &lt;code&gt;customFunctionOnPgnGameLoad()&lt;/code&gt; is executed and finally (when the selected game is fully loaded) &lt;code&gt;customFunctionOnPgnTextLoad()&lt;/code&gt; is executed. &lt;/p&gt;
&lt;p&gt;The function &lt;code&gt;customPgnHeaderTag(customTagString, htmlElementIdString, gameNumber)&lt;/code&gt; is available for use in &lt;code&gt;customFunctionOnPgnGameLoad()&lt;/code&gt; to parse custom PGN header tags and automatically assign their value to the given HTML elements. The function returns the custom tag value and the &lt;code&gt;gameNumber&lt;/code&gt; parameter, if unassigned, defaults to the current game. For example, this allows showing the information from the PGN header tag ECO: first add to the page the HTML element &lt;code&gt;&amp;lt;div id="myECO"&amp;gt;&amp;lt;/div&amp;gt;&lt;/code&gt;; then add to the &lt;code&gt;customFunctionOnPgnGameLoad()&lt;/code&gt; function the statement &lt;code&gt;customPgnHeaderTag("ECO", "myECO");&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;The function &lt;code&gt;customPgnCommentTag(customTagString, htmlElementIdString, plyNumber)&lt;/code&gt; is available for use in &lt;code&gt;customFunctionOnMove()&lt;/code&gt; to parse custom PGN comment tags like &lt;code&gt;{ [%pgn4web info] }&lt;/code&gt; and automatically assign their value to the given HTML elements. The function returns the custom tag value and the &lt;code&gt;plyNumber&lt;/code&gt; parameter, if unassigned, defaults to the current ply. &lt;/p&gt;
&lt;p&gt;See &lt;strong&gt;twic944.html&lt;/strong&gt; or &lt;strong&gt;live.html&lt;/strong&gt; for examples with the custom functions. &lt;/p&gt;
&lt;p&gt;The following functions, if defined in the HTML file after loading pgn4web.js, allow for execution of custom commands when shift + a number key is pressed: &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;customShortcutKey_Shift_0()&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;customShortcutKey_Shift_1()&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;... &lt;/li&gt;
&lt;li&gt;&lt;code&gt;customShortcutKey_Shift_9()&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="shortcut-keys-and-text-forms"&gt;shortcut keys and text forms&lt;/h2&gt;
&lt;p&gt;When the HTML page contains the following script command &lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="n"&gt;SetShortcutKeysEnabled&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;true&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;then all keystrokes for that active page are captured and processed by pgn4web; this allows for instance to browse the game using the arrow keys. If no other precautions are taken, this has also the undesirable side effect of capturing keystrokes intended by the user for typing in text forms when present in the same page: this makes the text forms unusable. &lt;/p&gt;
&lt;p&gt;In order to have fully functional text forms in pgn4web pages, the following &lt;code&gt;onFocus&lt;/code&gt; and &lt;code&gt;onBlur&lt;/code&gt; actions should be added to the textarea forms: &lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="nt"&gt;&amp;lt;textarea&lt;/span&gt; &lt;span class="na"&gt;onFocus=&lt;/span&gt;&lt;span class="s"&gt;"disableShortcutKeysAndStoreStatus();"&lt;/span&gt; &lt;span class="na"&gt;onBlur=&lt;/span&gt;&lt;span class="s"&gt;"restoreShortcutKeysStatus();"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/textarea&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;See the wiki page &lt;a class="" href="/p/pgn4web/wiki/Example_PGN_Form"&gt;Example_PGN_Form&lt;/a&gt; and the underlying &lt;code&gt;inputform.html&lt;/code&gt; HTML file. &lt;/p&gt;
&lt;h2 id="examples-and-links"&gt;examples and links&lt;/h2&gt;
&lt;p&gt;See the &lt;a class="" href="/p/pgn4web/wiki/Examples_Templates"&gt;examples and templates wiki page&lt;/a&gt;. &lt;/p&gt;
&lt;p&gt;See the &lt;a class="" href="../Live_Broadcast"&gt;live broadcast wiki page&lt;/a&gt; for more info about broadcasting live games. &lt;/p&gt;
&lt;p&gt;See the &lt;a class="" href="../User_Sites"&gt;user sites gallery wiki page&lt;/a&gt; for example of pgn4web usage. &lt;/p&gt;
&lt;p&gt;See the &lt;a class="" href="../User_Notes"&gt;user notes wiki page&lt;/a&gt; for feedback and tips from other pgn4web users. &lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Anonymous</dc:creator><pubDate>Sat, 14 Mar 2015 01:10:21 -0000</pubDate><guid>https://sourceforge.net2d1d274b551e4c4a027d7c8184f566a07d2276e4</guid></item></channel></rss>