# PsychoPy Online Demos

**URL:** <https://discourse.psychopy.org/t/psychopy-online-demos/22319>\
**Category:** Blog\
**Tags:** pavlovia\
**Created:** [April 15, 2021, 2:22pm UTC](https://discourse.psychopy.org/t/psychopy-online-demos/22319 "2021-04-15T14:22:28Z")\
**Posts on this page:** 1\
**Showing post:** 3

<div class="post-metadata">

**Author:** ![thomas\_pronk](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.psychopy.org/thomas_pronk/32/9531_2.png) [@thomas\_pronk](https://discourse.psychopy.org/u/thomas_pronk)\
**Post date:** [May 11, 2021, 10:57pm UTC](https://discourse.psychopy.org/t/psychopy-online-demos/22319/3 "2021-05-11T22:57:19Z")

</div>

_My experiments serve as JavaScript tutorials and demos on how to extend PsychoJS with extra features_

# JavaScript Debugging Tutorials

## tutorial\_js\_syntax\_error

Experiment is stuck on “initialising the experiment…” **[code](https://code.pavlovia.org/tpronk/tutorial_js_syntax_error) | [try it](https://run.pavlovia.org/tpronk/tutorial_js_syntax_error)**

## tutorial\_js\_semantic\_error

PsychoJS shows a dialog with an error message. **[code](https://code.pavlovia.org/tpronk/tutorial_js_semantic_error) | [try it](https://run.pavlovia.org/tpronk/tutorial_js_semantic_error)**

## tutorial\_js\_network\_error

PsychoJS shows a dialog with “unknown resource” message. **[code](https://code.pavlovia.org/tpronk/tutorial_js_network_error) | [try it](https://run.pavlovia.org/tpronk/tutorial_js_network_error)**

## tutorial\_js\_console\_log

Get additional info about what is happening in the code of your experiment. **[code](https://code.pavlovia.org/tpronk/tutorial_js_console_log) | [try it](https://run.pavlovia.org/tpronk/tutorial_js_console_log)**

## tutorial\_js\_expose\_psychojs

Find out how your to expose PsychoJS objects to the web browser, so that you can access them via the browser console, and try things out in order to see what works (or not). **[code](https://code.pavlovia.org/tpronk/tutorial_js_expose_psychojs) | [try it](https://run.pavlovia.org/tpronk/tutorial_js_expose_psychojs)**

## assignment\_stroop

An exercise, featuring an experiment with a syntax, semantic, and network error. **[code](https://code.pavlovia.org/tpronk/assignment_stroop) | [try it](https://run.pavlovia.org/tpronk/assignment_stroop)**

# Demos that extend PsychoJS

## demo\_eye\_tracking2

Eye-tracking via a webcam. **[code](https://code.pavlovia.org/tpronk/demo_eye_tracking2) | [try it](https://run.pavlovia.org/tpronk/demo_eye_tracking2) | [discussion thread 1](https://discourse.psychopy.org/t/eye-tracking-development-for-pavlovia/14667) | [discussion thread 2](https://discourse.psychopy.org/t/off-screen-on-screen-gaze-with-webgazer-based-experiment-on-psychopy-pavlovia/17596)**

## mouseview\_demo

Mouse-tracking. **[code](https://code.pavlovia.org/demos/mouseview_demo) | [try it](https://run.pavlovia.org/demos/mouseview_demo)**

## demo\_gyroscope

Tells the orientation of a hand-held device. **[code](https://code.pavlovia.org/tpronk/demo_gyroscope) | [try it](https://run.pavlovia.org/tpronk/demo_gyroscope)**

## demo\_keyup

Log the duration of a keypress. **[code](https://code.pavlovia.org/tpronk/demo_keyup) | [try it](https://run.pavlovia.org/tpronk/demo_keyup) | [discussion thread](https://discourse.psychopy.org/t/logging-duration-of-keypress-to-end-routine/16865)**

## demo\_multikey

Register multiple keys being up or down at the same time. **[code](https://code.pavlovia.org/tpronk/demo_multikey/) | [try it](https://run.pavlovia.org/tpronk/demo_multikey/)**

## demo\_dynamic\_loops

A loop that is set up via code instead of reading directly from a conditions file. **[code](https://code.pavlovia.org/tpronk/demo_dynamic_loops) | [try it](https://run.pavlovia.org/tpronk/demo_dynamic_loops)**

## demo\_dynamic\_allowedkeys

Illustrates how to have a Keyboard Component in PsychoJS listen to a set of keys specified in a conditions file. **[code](https://gitlab.pavlovia.org/tpronk/demo_dynamic_allowedkeys) | [try it](https://run.pavlovia.org/tpronk/demo_dynamic_allowedkeys)**

## demo\_chaining

How to daisy chain Pavlovia with another website (like Prolific or Qualtrics). **[code](https://code.pavlovia.org/tpronk/demo_chaining) | [try it](https://run.pavlovia.org/tpronk/demo_chaining)**

## demo\_embed\_html

Embed an HTML page or a [form.io](http://form.io) form into a PsychoJS experiment. **[code](https://code.pavlovia.org/tpronk/demo_embed_html) | [try it](https://run.pavlovia.org/tpronk/demo_embed_html)**

## demo\_polyfill

JS workarounds of @wakecarter’s crib-sheet, upgraded and bundled up in a single JavaScript file **[code](https://code.pavlovia.org/tpronk/demo_polyfill) | [try it](https://run.pavlovia.org/tpronk/demo_polyfill)**

---

_[View the full topic](https://discourse.psychopy.org/t/psychopy-online-demos/22319)._
