如何使用指令将元标记插入头部

时间:2014-08-12 14:15:28

标签: javascript angularjs

我尝试动态添加元标记,我尝试this fiddle来自this answer

页:

<html ng-app="meumobiApp" ng-controller="SiteCtrl">
    <head>
        <smart-banner></smart-banner>
    </head>
    <body></body>
<html>

和指令:

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

但标签正在插入身体标签而不是头部。

可以在头部插入标签,或者我必须尝试别的吗?

1 个答案:

答案 0 :(得分:1)

在你的指令链接功能中你应该这样做

module.directive("smartBanner",function(){
    return {
        restrict: "E",
        template: '<meta name="apple-itunes-app" content=""></meta>',
        replace: true,
        link: function(scope) {
         var metaTag=document.createElement('meta');
         metaTag.name = "apple-itunes-app";
         metaTag.content = "";
          document.getElementsByTagName('head')[0].appendChild(metaTag);
        }   
   }
});

但你也可以在没有指令的情况下做到这一点,但是指令也是好主意