prasanth Mani

prasanth Mani

  • 1.5k
  • 204
  • 18.4k

How to invoke script and html in wpf without using web brows

Mar 28 2018 11:35 PM
Its my Html code:
  1. <!DOCTYPE html>  
  2. <!-- saved from url=(0014)about:internet -->  
  3. <html oncontextmenu="return false" ;>  
  4. <head>  
  5. <title>Testing</title>  
  6. <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE11,IE=9; IE=8; IE=7; IE=EDGE" />  
  7. <link rel="stylesheet" type="text/css" href="style.css">  
  8. </head>  
  9. <body>  
  10. <center>  
  11. <form>  
  12. <fieldset class="account-info">  
  13. <label>  
  14. Select the FBX File  
  15. <input type="file" id="inputfile" onchange="ReadFile()" />  
  16. </label>  
  17. </fieldset>  
  18. </form>  
  19. </center>  
  20. <script src="three.js"></script>  
  21. <script src="system.min.js"></script>  
  22. <script src="jszip.min.js"></script>  
  23. <script src="Inflate.min.js"></script>  
  24. <script src="FBXLoader.js"></script>  
  25. <script>  
  26. //Get Sample Function  
  27. function GetSampleFunction() {  
  28. return "Bala";  
  29. }  
  30. //Property Variable  
  31. var rawData = undefined;  
  32. var fr;  
  33. //GetData For Select File  
  34. function GetData() {  
  35. var arr = {};  
  36. var obj = undefined;  
  37. if (fr.result != null) {  
  38. var loader = new THREE.FBXLoader();  
  39. obj = loader.parse(rawData);  
  40. }  
  41. if (obj != undefined) {  
  42. var re = {  
  43. "Object Name": obj.children[0].name,  
  44. "Object Positiion": obj.children[0].position,  
  45. "Object id": obj.children[0].id,  
  46. "Object ID": obj.children[0].ID,  
  47. "Object Castshadow": obj.children[0].castShadow,  
  48. "Object type": obj.children[0].type,  
  49. "Object userData": obj.children[0].userData,  
  50. "Object uuid": obj.children[0].uuid  
  51. };  
  52. arr = JSON.stringify(re);  
  53. else {  
  54. alert("Object has no value");  
  55. }  
  56. return JSON.stringify(arr);  
  57. }  
  58. //read data for select File  
  59. function ReadFile() {  
  60. var upload = document.getElementById('inputfile');  
  61. var f = upload.files[0], read = new FileReader();  
  62. fr = new FileReader();  
  63. fr.onload = function () {  
  64. rawData = fr.result;  
  65. };  
  66. fr.readAsArrayBuffer(f);  
  67. }  
  68. </script>  
  69. </body>  
  70. </html>  
Its my C# code:
  1. private void Window_Loaded(object sender, RoutedEventArgs e)  
  2. {  
  3. string curdir = Directory.GetCurrentDirectory();  
  4. webBrowser.Navigate(String.Format("file:///{0}/sample.html", curdir));  
  5. }  
  6. private void btngetdatafrombrowser_Click(object sender, RoutedEventArgs e)  
  7. {  
  8. try  
  9. {  
  10. dynamic objdata = webBrowser.InvokeScript("GetData");  
  11. if (objdata != null)  
  12. MessageBox.Show(objdata);  
  13. }  
  14. catch (Exception ex)  
  15. {  
  16. }  
  17. }  
  18. private void webBrowser_Navigated(object sender, NavigationEventArgs e)  
  19. {  
  20. string curdir = Directory.GetCurrentDirectory();  
  21. var data = Application.GetCookie(new Uri(String.Format("file:///{0}/sample.html", curdir)));  
  22. }  
  23. private void webBrowser_Navigating(object sender, NavigatingCancelEventArgs e)  
  24. {  
  25. }

Attachment: HtmlScriptToWPF.zip