@@ -491,7 +491,7 @@ function files(p5, fn){
491491 * async function setup() {
492492 * // Create a 200x200 canvas
493493 * createCanvas(200, 200);
494- *
494+ *
495495 * // Load the CSV file with a header row
496496 * table = await loadTable('assets/mammals.csv', ',', 'header');
497497 *
@@ -501,7 +501,7 @@ function files(p5, fn){
501501 * // Set text properties
502502 * fill(0); // Set text color to black
503503 * textSize(16); // Adjust text size as needed
504- *
504+ *
505505 * // Display each column value in the row on the canvas.
506506 * // Using an offset for y-position so each value appears on a new line.
507507 * for (let c = 0; c < table.getColumnCount(); c++) {
@@ -748,7 +748,7 @@ function files(p5, fn){
748748 * @returns {Promise<Uint8Array> } a Uint8Array containing the loaded buffer
749749 *
750750 * @example
751- *
751+ *
752752 * <div>
753753 * <code>
754754 * let data;
@@ -787,7 +787,7 @@ function files(p5, fn){
787787 }
788788 }
789789 } ;
790-
790+
791791 /**
792792 * Loads a file at the given path as a Blob, then returns the resulting data or
793793 * passes it to a success callback function, if provided. On load, this function
@@ -2187,7 +2187,10 @@ function files(p5, fn){
21872187 * @private
21882188 */
21892189 fn . _isSafari = function ( ) {
2190- return window . HTMLElement . toString ( ) . includes ( 'Constructor' ) ;
2190+ // Thanks to user Fregante on StackOverflow for the
2191+ // one-liner below (CC BY SA 3.0)
2192+ // https://stackoverflow.com/a/23522755
2193+ return / ^ ( (? ! c h r o m e | a n d r o i d ) .) * s a f a r i / i. test ( navigator . userAgent ) ;
21912194 } ;
21922195
21932196 /**
0 commit comments