Quantcast
Viewing all articles
Browse latest Browse all 105

Browser Error: Window function is not a function when called from WebGL JavaScript plugin

Hello, I am trying to send data from my WebGL player to a JavaScript function declared on the window. However, I keep getting an error: Uncaught TypeError: window.relayImgurData is not a function Here is my JavaScript function placed within my body tag: Here is my jslib file: var relay = { SendImgurData: function(data) { window.relayImgurData(Pointer_stringify(data)); } }; mergeInto(LibraryManager.library, relay); And here is the C# script where it is being called: using UnityEngine; using System.Collections; using System.Collections.Generic; using System.Linq; using System.Runtime.InteropServices; public class ScreenShot : MonoBehaviour { // the URL (with endpoint) the pic will be sent to public string screenShotURL= "https://api.imgur.com/3/image"; [DllImport("__Internal")] private static extern void SendImgurData(string data); IEnumerator UploadPic(string screenShotURL) { // We should only read the screen after all rendering is complete yield return new WaitForEndOfFrame(); // Create a texture the size of the screen, RGB24 format int width = Screen.width; int height = Screen.height; var tex = new Texture2D( width, height, TextureFormat.RGB24, false ); // Read screen contents into the texture tex.ReadPixels( new Rect(0, 0, width, height), 0, 0 ); tex.Apply(); // Encode texture into PNG byte[] bytes = tex.EncodeToPNG(); Destroy( tex ); // Add a custom header to request for API authentication Dictionary headers = new Dictionary(); headers["Authorization"] = "Client-ID xxxxxxxxxxxxxxx"; // Upload to URL specified WWW w = new WWW(screenShotURL, bytes, headers); yield return w; if (!string.IsNullOrEmpty(w.error)) { print(w.text); } else { SendImgurData (w.text); print("img uploaded =)"); } } // Initialization for UploadPic void UploadPicture(string screenShotURL) { StartCoroutine(UploadPic(screenShotURL)); } // Takes a screenshot when 'p' is pressed void Update() { if (Input.GetKeyDown ("p")) { UploadPicture(screenShotURL); print ("Screenshot =)"); } } } Thank you so much for any help =)

Viewing all articles
Browse latest Browse all 105

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>