首页 \ 问答 \ 无法使用templateUrl加载cordova中的外部模板(unable to load external templates in cordova with templateUrl)

无法使用templateUrl加载cordova中的外部模板(unable to load external templates in cordova with templateUrl)

部署到Windows 8.1的Cordova 4.0版可以防止外部模板

        .when('/', {
            controller: 'login',
            templateUrl: 'http://ip-address/templates/login.html',
            resolve: resolver('login')
        })

注意:这不是InAppBrowser应用程序。 index.html是本地的,router.js config.xml也是本地的

<access origin="*" />

因此,不应出现任何跨域问题。


Cordova version 4.0 deploying to Windows 8.1 prevents external templates

        .when('/', {
            controller: 'login',
            templateUrl: 'http://ip-address/templates/login.html',
            resolve: resolver('login')
        })

Notes: This is not a InAppBrowser application. index.html is local and so is the router.js config.xml has

<access origin="*" />

So any Cross Domain issue should not arise.


原文:https://stackoverflow.com/questions/36021943
更新时间:2021-06-14 10:06

最满意答案

我不知道这是否有帮助,所以我只是评论(见问题评论)。 我在我的index.html文件中有这个,而我需要访问templates.com上的模板(作为示例):

<meta http-equiv="Content-Security-Policy" content="default-src *; style-src 'self' 'unsafe-inline'; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.azure-mobile.net http://localhost:1337 http://ajax.aspnetcdn.com">

Underlying problem seems Cross Origin Issue but solved this with following workaround. The basic theory is that $http.get is able to resolve text/html or application/json.

In app.run(....)

            var allTemplates = [
                'my-template-1.html',
                'login-template.html',
                'logout-template.html',
                'unsupportedversion.html'
            ];

            allTemplates.forEach(function(template){
                $http.get('http://example.com/templates/'+template).success(function (t) {
                    $templateCache.put('templates/'+template, t);
                }).error(function(data, status, headers, config) {
                    $rootScope.appErrors.push(template+' failedToLoad');
                });
            });

相关问答

更多

无法使用templateUrl加载cordova中的外部模板(unable to load external templates in cordova with templateUrl)

我不知道这是否有帮助,所以我只是评论(见问题评论)。 我在我的index.html文件中有这个,而我需要访问templates.com上的模板(作为示例): <meta http-equiv="Content-Security-Policy" content="default-src *; style-src 'self' 'unsafe-inline'; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.azure-mobile.net http ...

无法在mvc 5中加载angular2 templateUrl(Can't load angular2 templateUrl in mvc 5)

templateUrl的相对路径不正确。 ./是相对于当前文件夹的,因此它正在寻找<root>/Accounts/Register/Accounts/Register/Register.component.html 。 将路径更改为相对于文件的位置。 很可能模板的文件名或其位置不匹配,但正确的路径应为: './Register.component.html' 假设您的项目结构是: <root> boot.ts <Accounts> app.ts < ...

Angular指令不在离子应用程序中使用templateUrl进行渲染(Angular directive not rendering with templateUrl in ionic app)

发现问题! 我希望这会帮助别人。 angular.config(function($sceDelegateProvider){ $sceDelegateProvider.resourceUrlWhitelist([ 'self', 'https://www.example.com/**' ]); } 即使在外部 - 这似乎并不需要。 在ios模拟器中 - 需要此配置才能加载模板。 Found the issue! I hope this wi ...

templateUrl - 角度动态指令多次加载(templateUrl - Angular dynamic directive loads more than once)

这是一种黑客攻击,但它确实有效:我制作了三个指令,它们在工厂之间共享相同的功能,我在DOM中做了这个: <div ng-if="stnPage === 'page1'"> <preset-station-one></preset-station-one> </div> <div ng-if="stnPage === 'page2'"> <preset-station-two></preset-stati ...

AngularJS ui-router无法加载templateUrl(AngularJS ui-router unable to load templateUrl)

基本上你应该把你的bread.html放在你的bread.html的基本视图中,然后从视图中加载named-view视图, @代表这里的基本布局模板 .config(function ($stateProvider) { $stateProvider .state('bread', { url: '/bread', views: { '@': { //I don't know the exact bread.html url, it can be d ...

Cordova:在webview中加载链接(Cordova: load links in webview)

看看cordova-plugin-whitelist插件: https://cordova.apache.org/docs/en/latest/reference/cordova-plugin-whitelist/ 该插件实现了用于在Cordova 4.0上导航应用程序webview的白名单策略 您可能想要添加到config.xml中: <allow-navigation href="http://example.com/*" /> ....对于每个受信任的域,其中example.com是受信任 ...

如何从多个html模板中创建html页面或templateUrl(How to create an html page or templateUrl out of multiple html templates)

您可以使用文档中的 ng-include 作为一个要素: <ng-include src="string" [onload="string"] [autoscroll="string"]> ... </ng-include> 或任何其他元素内: <ANY ng-include="string" [onload="string"] [autoscroll="string"]> ... </ANY> 或作为一个班级: <ANY class="ng-include: ...

AngularJS路由器不加载`templateURL`服务的页面(AngularJS router does not load page served at `templateURL`)

不是你的$ routeProvider代码中的templateUrl,而不是templateURL吗? 参考: $ routeProvider文档 Isn't it templateUrl, not templateURL in your $routeProvider code? Reference: $routeProvider documentation

无法为stateprovider加载templateURL否则选项(Unable to load a templateURL for the stateprovider otherwise option)

否则不适用于任何模板,它不是一个状态。 这是一个“重定向”网址。 因此,如果您键入不存在的URL,它将“重定向”到那个,因此它应该是有效状态(如果您不希望它在SPA中,则应为服务器响应) 所以,例如,如果你做abc / blahblah,那么它将转到abc / home。 在您的示例中,您似乎需要删除其他状态,然后它应该将您重定向到home状态。 .config(function ($stateProvider, $urlRouterProvider) { $state ...

在AngularDart中,我应该如何在templateUrl中引用我的模板,以便它们适用于Dartium和dart2js?(In AngularDart, how should I reference my templates in templateUrl so they work for both Dartium and dart2js?)

但是后来Dartium尝试将其加载为/packages/project/templates/app.html,而不是/project/packages/project/templates/app.html,这是正确的。 我没有看到任何方法告诉它基本URL是什么。 我相信你使用的是angulardart 1.1.1或1.1.2? 从1.1.0切换到1.1.2后,我们的项目中出现了同样的问题。 这是自版本1.1.1以来添加的奇怪行为。 出于某种原因,AngularDart中的默认包根现在是'/ pac ...

相关文章

更多

最新问答

更多
  • 未捕获的不变违规:addComponentAsRefTo(...):只有ReactOwner可以有refs(Uncaught Invariant Violation: addComponentAsRefTo(…): Only a ReactOwner can have refs)
  • 通过嵌入式YouTube / Flash视频避免滚轮劫持(Avoid scroll-wheel hijack by embedded youtube / flash video)
  • 如何在多用户环境中处理表单编辑?(how to handle form editing in a Multi-user environment?)
  • PHP关闭MySQL连接(PHP close MySQL connection)
  • 我要微信下载
  • Solr dataimport处理程序查询(Solr dataimport handler query)
  • GIT是什么车.
  • Powershell错误处理和空结果(Powershell Error Handling and Null results)
  • Laravel按第二级值排序第一级集合(Laravel sorting 1st level collection by 2nd level value)
  • logback.xml到logback属性文件(logback.xml to logback property file)
  • 使用fgets和strcat时出现问题(Problems when using fgets and strcat)
  • 绘制熊猫数据框两栏(plot pandas dataframe two columns from)
  • 超全球$ _GET中是否保证键值对的顺序?(Is the order of key-value pairs guaranteed in the superglobal $_GET?)
  • C# - 检查两组索引值(C# - Checking Index values of two sets)
  • 模板中的URL输出为空(URL output in template is empty)
  • 关于redhat linux 9.0的三个镜像文件
  • 为什么要在go中分配对struct的引用?(Why assign a reference to a struct in go?)
  • Datagrid点击事件(Datagrid click event)
  • window.location.href在输入press时返回undefined(window.location.href on enter press returns undefined)
  • Javascript Array.remove()作者:John Resig - 为什么要在for-in语句中枚举?(Javascript Array.remove() by John Resig - why does it enumerate in for-in statement?)
  • sudo gem安装cocoapods --pre错误(sudo gem install cocoapods --pre error)
  • 加载完成后,在所有已加载的HTML文件中执行某些操作(After Load Complete, Do Something in All Loaded HTML Files)
  • 如何为wpf datagrid行应用样式(How to have style applied for wpf datagrid row)
  • 在debian上升级内核[关闭](Upgrade kernel on debian [closed])
  • 无法使用JavaScript FileReader API上传二进制文件(Trouble uploading binary files using JavaScript FileReader API)
  • 工作简历怎样写啊?电脑方面的
  • 查找通过gmail API检索的环聊和聊天消息的时间戳(Find timestamp for hangout and chat messages retrieved with gmail api)
  • 如果在汇编程序中没有退出系统调用,会发生什么情况?(What happens if there is no exit system call in an assembly program?)
  • 无法从Intranet访问Wordpress门户(Wordpress portal not accessible from intranet)
  • PDFBox:禁用字体缓存或更改其位置(PDFBox: Disable Font Cache or change its location)