角修改meta标签 [英] Angular modify meta tag

查看:144
本文介绍了角修改meta标签的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个meta标签(苹果智能横幅),我想修改的飞行参数。但它是目前没有工作:

我想创建头前的NG-init的叫什么?如果是这样,我也可以通过负载法修改元?

下面是HTML:

 <!DOCTYPE HTML>
< HTML LANG =ENNG-应用=对myApp级=passWindowDimensions>
< HEAD>
    <间的charset =UTF-8>
    <标题>&XXXXXX LT; /标题>
    <链接rel =stylesheet属性HREF =CSS / app.css/>
    <链接rel =stylesheet属性HREF =CSS / bootstrap.css/>    < META NAME =苹果的iTunes应用程序CONTENT =APP-ID = XXXXXXX,APP-参数= {{paramRId}}>    <! - 让搜索引擎知道我们是一个单页的AJAX应用程序 - >
    < META NAME =片段的内容= GT!;    <脚本SRC =JS / jquery.js和>< / SCRIPT>
    <脚本SRC =JS / searchFunctions.js>< / SCRIPT>
< /头>

部分:

 < D​​IV数据-NG-的init =loadMe()DIV CLASS =COL-MD-12 passWindowDimensions>

控制器:

  / **
         *加载顺序。加载结果
         * /
        $ scope.loadMe =功能(){          $ scope.paramRId =测试;
       };


解决方案

尝试服务和指导

http://jsfiddle.net/VnXYB/

  module.factory(smartBanner功能(){
    返回{
        APPID:,
        appArgument:
    }
});
module.directive(smartBanner功能(smartBanner){
    返回{
        限制:E,
        模板:'< META NAME =苹果的iTunes应用程序CONTENT =APP-ID = {{smartbanner.appId}},APP-参数= {{smartbanner.appArgument}}>< /元>' ,
        更换:真实,
        链接:功能(范围){
            scope.smartbanner = smartBanner
        }
    }});
module.controller(TestCtrl功能($范围,smartBanner){
    $ scope.update =功能(){
        smartBanner.appId = $ scope.appId;
        smartBanner.appArgument = $ scope.appArgument;
    };
});

I have a meta tag (apple smart banner) and I want to modify the argument on the fly. However it is currently not working:

I assume the ng-init is called before the head is created? If so, I can modify the meta through a load method?

here is the html:

<!doctype html>
<html lang="en" ng-app="myApp" class="passWindowDimensions">
<head>
    <meta charset="utf-8">
    <title>XXXXXX</title>
    <link rel="stylesheet" href="css/app.css"/>
    <link rel="stylesheet" href="css/bootstrap.css"/>

    <meta name="apple-itunes-app" content="app-id=XXXXXXX, app-argument = {{paramRId}}">

    <!--Let search engines know we are a single page ajax app-->
    <meta name="fragment" content="!">

    <script src="js/JQuery.js"></script>
    <script src="js/searchFunctions.js"></script>


</head>

Partial:

<div data-ng-init="loadMe()" div class="col-md-12 passWindowDimensions">

Controller:

/**
         * Loading sequence. Loads the results
         */
        $scope.loadMe = function(){

          $scope.paramRId = 'test';


       };

解决方案

Try a service and a directive

http://jsfiddle.net/VnXYB/

module.factory("smartBanner", function() {
    return {
        appId: "",
        appArgument: ""
    }    
});
module.directive("smartBanner",function(smartBanner){
    return {
        restrict: "E",
        template: '<meta name="apple-itunes-app" content="app-id={{smartbanner.appId}}, app-argument = {{smartbanner.appArgument}}"></meta>',
        replace: true,
        link: function(scope) {
            scope.smartbanner = smartBanner
        }
    } 

});
module.controller("TestCtrl", function($scope,smartBanner){
    $scope.update = function() {
        smartBanner.appId=$scope.appId;
        smartBanner.appArgument=$scope.appArgument;
    };
});

这篇关于角修改meta标签的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆