2016-07-25 7 views
1

Windows Phone IE11 Mobile에서 테스트하려고하는 웹 사이트에서 문제가 발생합니다. 기본적으로 아이폰, 안드로이드, 크롬, 파이어 폭스, 심지어 비 윈도우 폰 IE11에서이 코드는 제대로 작동하지만 IE11 모바일에서는 다음 코드가 " 'App'은 정의되지 않았습니다. '라는 경고 메시지가 표시됩니다. 여기 IE11에서 자바 스크립트 코드가 정의되지 않았습니다. 모바일 브라우저이지만 Chrome, Firefox, IE에서 작동합니다.

는 면도기 cshtml입니다 :

@Scripts.Render("~/bundles/jquery") 
    @Scripts.Render("~/bundles/modernizr") 
    @Scripts.Render("~/bundles/bootstrap") 
    @Scripts.Render("~/bundles/app") 
    <script> 
     $(document).ready(function() { 
      try { 
       var overlayUrl = "@Url.Content("~/Content/Images/front_license_outline.png")"; 
       var handleUrl = "@Url.Action("HandlePicture")"; 
       App.init(overlayUrl, handleUrl); 
      } catch(ex) {alert(ex.message);} 
     }); 
    </script> 

그리고 여기에 내가 테스트 한 다른 모든 브라우저에 정의 된 app.js 파일의 축소 된 버전입니다.

var App = function() { 
    var init = function(overlayurl, hpu) { 
     //My Code 
    } 

    return { init: init }; 
}(); 

정말에 갈 수 있는지에 관한 아이디어의 대부분이 없어 내가이 문제를 해결하려면 WP EI11 모바일 또는 어떤 방법을이 문제를 해결하려면 다음 중 하나를 어떻게 파악에 도움을 드리고자합니다.

jQuery를 - 버전 1.10.2
모더 나이저 - 버전 2.6.2
부트 스트랩 - 버전 3.3.6

당신은 내 코드에 대한 자세한 정보가 필요하거나 내가 작업하는 중요한 일을 포함하지 않았을 수 있습니다 생각한다면 이 문제에 대해 알려 주시면 기꺼이 제공해 드리겠습니다. 당신의 도움에 미리 감사드립니다.

:: EDIT ::
App.init 함수의 모든 단일 행을 편집하고 다른 곳에서 찾을 수있는 많은 불필요한 행을 테스트하여 문제가 지속됩니다.

var App = function() { 
    var init = function() { 
     //This is now literally no code here. 
    } 

    return { init: init }; 
}(); 

과 면도기 .cshtml 파일 :

@Scripts.Render("~/bundles/jquery") 
    @Scripts.Render("~/bundles/modernizr") 
    @Scripts.Render("~/bundles/bootstrap") 
    @Scripts.Render("~/bundles/app") 
    <script> 
     $(document).ready(function() { 
      try { App.init(); } 
      catch(ex) { alert(ex.message); } 
     }); 
    </script> 

경고 (ex.message)가 여전히 발생합니다. 'App'은 정의되지 않았습니다.

답변

1

나는 지금이 문제에서 벗어나 완전히 무관하다고 생각한 일을하기로 결정했다. 부트 스트랩 그리드 시스템이 올바르게 작동하지 않는 이유를 알아 냈습니다. 나는 내가 메타 태그를 추가 할 필요가 있다고 건의 기사를 우연히 발견 것을하고있는 동안 내 .cshtml 파일의 머리에이 메타 태그 나에게 이유 완전히 미지를 문제를 해결

<meta http-equiv="X-UA-Compatible" content="IE=edge">

. 내가 알 수있는 한,이 브라우저는 다른 부작용이 없습니다. 이 태그를 사용하면 IE11 Mobile에서 app.js 파일이 올바르게로드되고 있습니다.

지금은 문제가 해결되었지만 정확히 무엇을하고 있는지 살펴볼 계획입니다. 이 문제가 비슷한 문제를 다루는 데 도움이되기를 바랍니다.

0

일반적으로 탐색기에서 수행 할 수없는 많은 작업이 있습니다. IE에서 코드에서 수행중인 작업이 가능한지 확인하십시오. 예제에는 대개 IE 용 코드 및 다른 브라우저 용 코드를 지정하는 if/else 문장이 있습니다. 예 :

if (window.XMLHttpRequest) { // This would be the object you want to use 
    // code for browser with x tool 
    xmlhttp = new XMLHttpRequest(); 
} else { 
    // code for old IE browser without the tool 
    xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); 
    // This would be the alternative in this browser 
} 

나는 이것이 당신이 찾고있는 것이 확실하지 않지만 도움이되기를 바랍니다.

+0

다시 연락해 주셔서 감사합니다. 이 시점에서 App.init() 함수의 모든 단일 코드 줄을 주석 처리 했으므로 빈 함수 일뿐입니다. 대부분의 $ (document) .ready() 콜백 함수를 사용하여 동일한 작업을 수행했습니다.javascript는 원래 게시물과 동일하게 보이지만 cshtml은 이제 다음과 같이 보입니다. '$ (document) .ready (function() { try { App.init(); } catch 경고 (ex.message);} }); ' 문제가 지속됩니다. " '앱'은 정의되지 않았습니다." –

+0

내가 전에 말했듯이 당신이 찾고있는 것이 확실하지 않지만이 링크가 도움이 될 수 있습니다. 지원되지 않는 기능으로 이동하여 사용하고있는 항목이 WP 용으로 제공되지 않는지 확인하십시오. 앱이 의존하는 모든 기능을 알고 있어야합니다. –

+0

죄송합니다. 링크를 추가하는 것을 잊었습니다! LOL : https://msdn.microsoft.com/en-us/library/dn629259(v=vs.85).aspx –