Unless stated otherwise, all graphic window instructions are available in anScript for Web via webSupport.js and webSupport.ans (see below).
Latest version of anScript for Web can be found at link.
webRunJavascript(var.s code)
available only in anScript for Web
Run javascript code. Quick example:
webRunJavascript(alert('hello').s)
/use consolePrint instead
webRunJavascript(var ret, var.s instruction, var arg1, ...)
available only in anScript for Web
Run javascript code and get its return, ret can be var.s, var.i or var (no return). Quick example:
webRunJavascript(var, alert.s, hello.s)
/use consolePrint instead
webSetDOM(var[element] DOM)
available only in anScript for Web
Set page’s Document Object Model.
webSetDOM
explainedvar[element]
is technically var[]
supertype, but it’s also anScript class named element.
Classes property
and element
used in webSetDOM
(copy and paste it into your code):
<include(library/arrayPushBack.ans)>
/Property class
instructionCreate(propertyBegin)
variableCreateLocal(name, 0.i)
variableCreateLocal(value, 1.i)
}
instructionCreate(propertyEnd)
variableDeleteLocal(name)
variableDeleteLocal(value)
}
instructionCreate(propertyConstruct, newPropertyObject, newName, newValue)
newPropertyObject.variableAssign(var[])
newPropertyObject.arraySetSize(2.i)
newPropertyObject[name].variableAssign(newName)
newPropertyObject[value].variableAssign(newValue)
}
instructionCreate(propertyDestruct, oldPropertyObject)
oldPropertyObject.variableAssign(var)
}
/Element class
instructionCreate(elementBegin)
variableCreateLocal(name, 0.i)
variableCreateLocal(properties, 1.i)
}
instructionCreate(elementEnd)
variableDeleteLocal(name)
variableDeleteLocal(properties)
}
instructionCreate(elementConstruct, newElementObject, newName)
newElementObject.variableAssign(var[])
newElementObject.arraySetSize(2.i)
newElementObject[name].variableAssign(newName)
newElementObject[properties].variableAssign(var[])
}
instructionCreate(elementDestruct, oldElementObject)
oldElementObject.variableAssign(var)
}
instructionCreate(addProperty, elementObject, newProperty)
elementObject[properties].arrayPushBack(newProperty)
}
instructionCreate(addInsideElement, elementObject, newElement)
elementObject.arrayPushBack(newElement)
}
propertyBegin()
elementBegin()
variableCreate(html,var)
html.elementConstruct(html.s)
variableCreate(body,var)
body.elementConstruct(body.s)
variableCreate(input,var)
input.elementConstruct(input.s)
variableCreate(property,var)
property.propertyConstruct(type.s,file.s)
input.addProperty(property)
body.addInsideElement(input)
body.addInsideElement(x.s)
html.addInsideElement(body)
/use debugVariables() to see what happened
webSetDOM(html)
consolePrint(done.s)
propertyEnd()
elementEnd()