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

Javascript 如何使用指令向头部插入元标记,javascript,angularjs,Javascript,Angularjs,我正在尝试动态添加一个元标记,我尝试了,从 第页: 和指令: module.directive("smartBanner",function(){ return { restrict: "E", template: '<meta name="apple-itunes-app" content=""></meta>', replace: true, link: function(scope) {}

我正在尝试动态添加一个元标记,我尝试了,从

第页:


和指令:

module.directive("smartBanner",function(){
    return {
        restrict: "E",
        template: '<meta name="apple-itunes-app" content=""></meta>',
        replace: true,
        link: function(scope) {}   
   }
});
module.directive(“smartBanner”,function()){
返回{
限制:“E”,
模板:“”,
替换:正确,
链接:函数(作用域){}
}
});
但是标记将插入到body标记中,而不是头部


可以在头部插入标签,或者我必须尝试其他方法?

在指令链接功能中,您应该这样做

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);
        }   
   }
});
module.directive(“smartBanner”,function()){
返回{
限制:“E”,
模板:“”,
替换:正确,
链接:功能(范围){
var metaTag=document.createElement('meta');
metaTag.name=“苹果itunes应用程序”;
metaTag.content=“”;
document.getElementsByTagName('head')[0].appendChild(metaTag);
}   
}
});

但是你也可以不用指令就可以做到这一点,但是指令也是个好主意

为什么你要用JavaScript添加
meta
标记?不要认为任何读到的东西都会把它捡起来。@putvande,因为javascript是有史以来最酷的服务器端脚本语言。听说过node.js吗?@pqnet是的。但是OP使用的是AngularJS,而不是nodejs。@putvande我猜谢谢你的评论,我搜索并没有发现任何声明使用javascript创建元标记不起作用的内容,任何人都有关于它的文章、文档、链接、小提琴或任何东西
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);
        }   
   }
});