User Tools

Site Tools


twine_1.4_bugs

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revision Both sides next revision
twine_1.4_bugs [2013/12/22 21:52]
l [a:link CSS selector]
twine_1.4_bugs [2013/12/30 18:33]
l
Line 16: Line 16:
  
 When editing a passage, the monospace font uses the normal font's font size instead of its own. When editing a passage, the monospace font uses the normal font's font size instead of its own.
 +
 +=====HTML tables=====
 +
 +Putting HTML tables in passages is currently bugged - when a <tr> is created, the browser automatically wraps it in a <​tbody>​ tag, and then puts the <​tr>'​s child code into the <​tbody>​ instead of the <tr>.
 +
 +== Recommendation ==
 +
 +Use the TiddlyWiki table [[syntax]] instead of HTML.
 +
 +===== Importing from HTML =====
 +
 +The "​import from HTML" feature sometimes reads passages incorrectly,​ creating correctly-named and tagged passages with no text.
 +
 +===== Jonah scrolling in IE 8 =====
 +
 +The automatic scrolling in Jonah behaves incorrectly in IE 8.
 +
 +===== Accessing properties of variables =====
 +
 +If a variable has object properties accessed through dot notation (such as an array with .length or .push) then the property will be incorrectly initialised to 0, making it inaccessible.
 +
 +== Makeshift patch ==
 +
 +Access the property through index notation (for instance, $array["​push"​]() instead of the $array.push() notation) until the bug is fixed.
  
 =====Sugarcane sidebar===== =====Sugarcane sidebar=====
Line 68: Line 92:
 <​code>​macros.textinput={handler:​function(a,​b,​c){if(c[1]){var d=c[0].replace(/​\$/​g,""​);​el=document.createElement("​span"​);​var e="<​input id='"​+d+"'​ type='​text'​ onkeypress=\"​var charCode; if(event && event.which){charCode = event.which;​}else if(window.event){event = window.event;​charCode = event.keyCode;​}if(charCode == 13) {state.history[0].variables."​+d+"​ = this.value; state.display('"​+c[1]+"'​)}\"/>";​if(c[2]){e+="<​input type='​button'​ value='"​+c[2]+"'​ onclick=\"​state.history[0].variables."​+d+"​ = getElementById('"​+d+"'​).value;​ state.display('"​+c[1]+"'​);​\"/>"​}el.innerHTML=e;​a.appendChild(el)}else{throwError(a,'"​[PassageName]"​ parameter missing'​)}}};</​code>​ <​code>​macros.textinput={handler:​function(a,​b,​c){if(c[1]){var d=c[0].replace(/​\$/​g,""​);​el=document.createElement("​span"​);​var e="<​input id='"​+d+"'​ type='​text'​ onkeypress=\"​var charCode; if(event && event.which){charCode = event.which;​}else if(window.event){event = window.event;​charCode = event.keyCode;​}if(charCode == 13) {state.history[0].variables."​+d+"​ = this.value; state.display('"​+c[1]+"'​)}\"/>";​if(c[2]){e+="<​input type='​button'​ value='"​+c[2]+"'​ onclick=\"​state.history[0].variables."​+d+"​ = getElementById('"​+d+"'​).value;​ state.display('"​+c[1]+"'​);​\"/>"​}el.innerHTML=e;​a.appendChild(el)}else{throwError(a,'"​[PassageName]"​ parameter missing'​)}}};</​code>​
  
-===== <<​return>>​ and bookmarks =====+===== <<​back>>/​<<​return>>​ and bookmarks =====
  
 Just as in 1.3.5, the <<​back>>​ macro may not function correctly for game states loaded from a bookmark. If you bookmark a passage that contains a <<​back>>​ macro, then reload from the bookmark, the <<​back>>​ macro won't work because the loaded page is the only page in the browser history. However, the <<​return>>​ macro also suffers from this deficiency, for reasons Just as in 1.3.5, the <<​back>>​ macro may not function correctly for game states loaded from a bookmark. If you bookmark a passage that contains a <<​back>>​ macro, then reload from the bookmark, the <<​back>>​ macro won't work because the loaded page is the only page in the browser history. However, the <<​return>>​ macro also suffers from this deficiency, for reasons
Line 75: Line 99:
  
 Use ''​%%[[Return|previous()]]%%''​ instead of <<​return>>​. Use ''​%%[[Return|previous()]]%%''​ instead of <<​return>>​.
 +
 +===== <<​back>>​ and Undo:off =====
 +
 +If the [[StorySettings]] option "​undo"​ is off, then <<​back>>​ may cause [[link]] [[variable]]s in preceding passages to be forgotten or incorrect.
 +
 +===== visited() and similar passage names =====
 +
 +The visited() [[function]] will incorrectly consider you having visited a passage if, in the past, you visited another passage whose name is a substring of the passage. (For example, visited("​Next 2") would incorrectly be 1 if you previously visited a passage titled "​Next"​.)
  
 ===== a:link CSS selector ===== ===== a:link CSS selector =====
  
-In Twine 1.4, the "​href"​ attribute was removed from internal links, because it has no purpose (except to clue the especially canny player into the fact that the link is specifically an internal link, which may "tip the hand" of certain authors ​unwillingly). However, this inadvertently means that the "​a:​link"​ CSS selector [[http://​www.ashtonraze.com/?​p=387|promoted by Ashton Raze]] no longer selects internal links (since "​a:​link"​ is a synonym for "​a[href]"​).+In Twine 1.4, the "​href"​ attribute was removed from internal links, because it has no purpose (except to unwittingly ​clue the especially canny player into the fact that the link is //specifically// an internal link, by the fact that hrefs are revealed by hovering over links - which may "tip the hand" of certain authors ​who, for instance, may try to disguise a macro link as an internal link). However, this inadvertently means that the "​a:​link"​ CSS selector [[http://​www.ashtonraze.com/?​p=387|promoted by Ashton Raze]] no longer selects internal links (since "​a:​link"​ is a synonym for "​a[href]"​).
  
 == Makeshift patch == == Makeshift patch ==
  
-Use the correct ​selector for passage links, ​which is "​.passage a", as described [[stylesheet|here]].+Use a more precise ​selector for passage links, ​such as "​.passage a", as described [[stylesheet|here]]. This selector has the advantage of not selecting links outside of the passage (for instance, in the Sugarcane sidebar).
  
 ===== Scripts ===== ===== Scripts =====
twine_1.4_bugs.txt ยท Last modified: 2017/10/09 20:39 (external edit)