@@ -5,28 +5,34 @@ function handleFiles(files){
5
5
if ( ! files . length ) {
6
6
7
7
} else {
8
- var placeHolder = document . getElementById ( 'virtualArea' ) ;
9
- placeHolder . innerHTML = "<p>your image is loading</p>" ; //must update to change the texture instead
10
- var img = document . createElement ( 'img' ) ;
11
- img . setAttribute ( 'id' , 'texture' )
12
- img . src = window . URL . createObjectURL ( files [ 0 ] ) ;
13
- var skys = document . getElementsByTagName ( 'a-sky' ) ;
14
- img . onload = function ( ) {
15
-
16
- var sky = document . createElement ( 'a-sky' ) ;
17
- var scene = document . createElement ( 'a-scene' ) ;
18
- var assets = document . createElement ( 'a-assets' ) ;
19
- virtualPlaceholder = document . getElementById ( 'virtualArea' ) ;
20
- virtualPlaceholder . innerHTML = "" ;
8
+ createImage ( files [ 0 ] , false ) ;
9
+ }
10
+ }
21
11
22
- assets . appendChild ( img ) ;
23
- sky . setAttribute ( 'src' , '#texture' ) ;
24
- scene . appendChild ( assets ) ;
25
- scene . appendChild ( sky ) ;
26
- virtualPlaceholder . appendChild ( scene ) ;
12
+ //creates the aframe structure that holds the sky inside the scene.
13
+ //can work with a create url from a file from the device or with "isExternal" to target a url
14
+ function createImage ( url , isExternal ) {
15
+ var placeHolder = document . getElementById ( 'virtualArea' ) ;
16
+ placeHolder . innerHTML = "<p>your image is loading</p>" ; //must update to change the texture instead
17
+ var img = document . createElement ( 'img' ) ;
18
+ img . setAttribute ( 'id' , 'texture' )
19
+ img . src = ( isExternal ) ?url :window . URL . createObjectURL ( url ) ;
20
+ img . onload = function ( ) {
21
+
22
+ var sky = document . createElement ( 'a-sky' ) ;
23
+ var scene = document . createElement ( 'a-scene' ) ;
24
+ var assets = document . createElement ( 'a-assets' ) ;
25
+ virtualPlaceholder = document . getElementById ( 'virtualArea' ) ;
26
+ virtualPlaceholder . innerHTML = "" ;
27
27
28
+ assets . appendChild ( img ) ;
29
+ sky . setAttribute ( 'src' , '#texture' ) ;
30
+ scene . appendChild ( assets ) ;
31
+ scene . appendChild ( sky ) ;
32
+ virtualPlaceholder . appendChild ( scene ) ;
33
+
34
+ if ( ! isExternal )
28
35
window . URL . revokeObjectURL ( this . src ) ;
29
- }
30
36
}
31
37
}
32
38
@@ -50,16 +56,19 @@ function init(){
50
56
}
51
57
52
58
document . addEventListener ( 'DOMContentLoaded' , function ( ) {
53
- if ( window . location . search == '' ) {
54
- init ( ) ;
55
- }
56
- else {
57
- var ext_res = '' ;
58
- searchPars = new URLSearchParams ( window . location . search ) ;
59
- if ( searchPars . has ( 'e' ) === true ) {
60
- ext_res = searchPars . get ( 'e' ) ;
61
- alert ( ext_res ) ;
62
- }
59
+ var ext_res = getUrlParameter ( 'pic' ) ;
60
+ if ( ext_res != '' ) {
61
+ var fs = document . getElementById ( 'fileSelector' ) ;
62
+ fs . style . animationName = "minimize" ;
63
+ createImage ( ext_res , true ) ;
63
64
}
64
-
65
- } ) ;
65
+ init ( ) ;
66
+ } ) ;
67
+
68
+ //gets a query string parameter
69
+ function getUrlParameter ( name ) {
70
+ name = name . replace ( / [ \[ ] / , '\\[' ) . replace ( / [ \] ] / , '\\]' ) ;
71
+ var regex = new RegExp ( '[\\?&]' + name + '=([^&#]*)' ) ;
72
+ var results = regex . exec ( location . search ) ;
73
+ return results === null ? '' : decodeURIComponent ( results [ 1 ] . replace ( / \+ / g, ' ' ) ) ;
74
+ } ;
0 commit comments