小编Kat*_*tie的帖子

角度误差:$ injector:modulerr模块错误

我试图运行Angular Materials的一个例子,但对于我的生活,我无法弄清楚为什么我会收到这个错误.

我得到的错误是 Error: $injector:modulerr Module Error

这是我得到的错误报告:链接

任何想法可能是什么问题?我几乎从他们的示例网站上复制粘贴了这个.

这是代码:

angular.module('MyApp',['ngMaterial', 'ngMessages', 'material.svgAssetsCache'])

.controller('AppCtrl', function($scope) {

});
Run Code Online (Sandbox Code Playgroud)
.buttondemoBasicUsage section {
  background: #f7f7f7;
  border-radius: 3px;
  text-align: center;
  margin: 1em;
  position: relative !important;
  padding-bottom: 10px; }

.buttondemoBasicUsage md-content {
  margin-right: 7px; }

.buttondemoBasicUsage section .md-button {
  margin-top: 16px;
  margin-bottom: 16px; }

.buttondemoBasicUsage .label {
  position: absolute;
  bottom: 5px;
  left: 7px;
  font-size: 14px;
  opacity: 0.54; }
Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular-animate.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular-aria.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular-route.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular-messages.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angular_material/1.0.0/angular-material.min.js"></script> …
Run Code Online (Sandbox Code Playgroud)

javascript angularjs

10
推荐指数
2
解决办法
1万
查看次数

iframe在动态创建后没有明显原因消失

这很难解释,但我以前从未经历过这样的事情.我还创建了一个GIF来显示问题的样子.

我第一次打开我的chrome扩展并进行搜索时,iframe的工作完全正常.第二次打开我的Chrome扩展程序并进行搜索时,iframe消失了(请参阅GIF).

正如您所看到的那样,iframe突然消失,没有明显的原因,如果我右键单击并进入inspect element并编辑最无关的项目,那么突然之后iframe重新出现.

我可以尝试一个简单的解决方案吗?正如我所说,当我inspect element在chrome中切换视图中的任何代码时,它会重新出现.

这是搜索的代码:(我正在使用jquery自动完成功能进行搜索)

$('#searchBox').autocomplete({
lookup: footballers,
lookupLimit: 5,
minChars: 3,
onSelect: function (suggestion) {
    $("#searchBox").blur();     
    $('.fullcard').css('display', 'block');
    $('.fullcard').append('<i id="closeCard" class="material-icons">close</i><iframe src="https://www.example.com/'+suggestion.data+'"></iframe>');
},
lookupFilter: _autocompleteLookup,
formatResult: _autocompleteFormatResult, 
});
Run Code Online (Sandbox Code Playgroud)

有什么想法/想法吗?非常感谢它.

javascript iframe jquery jquery-autocomplete google-chrome-extension

6
推荐指数
1
解决办法
2493
查看次数

chrome 扩展在加载 dom 之前注入动态 css

我正在构建一个 chrome 扩展,我想storage.sync.get在用户访问该网页时将动态(来自)css 注入网页。使用我当前的实现,它在技术上是有效的,但是,页面加载,加载后它会注入新的 css,这使得它看起来非常慢。我想在 dom 加载之前加载 css。那可能吗?

这是我目前拥有它的方式:

注入.js:

chrome.storage.sync.get("color", function(storedTheme) {
     $('.theme-wrap').removeClass('selected');
     $('.' + storedTheme.color).addClass('selected');
     path = chrome.extension.getURL("src/options/themes/" + storedTheme.color + ".css");
      $('<link/>', {
      rel: 'stylesheet',
      type: 'text/css',
      href: path
    }).appendTo('head');
});
Run Code Online (Sandbox Code Playgroud)

这是我的 manifest.json content_script 信息:

"content_scripts": [{
    "matches": ["http://*/*", "https://*/*"],
    "css": ["src/inject/inject.css", "src/inject/font-awesome.min.css"],
    "js": ["js/jquery/jquery.min.js", "src/inject/inject.js"],
    "run_at" : "document_end"
 }]
Run Code Online (Sandbox Code Playgroud)

src/inject/inject.css似乎DOM,这正是我想要的东西之前加载,但我希望它为用户指定的css文件的工作。有谁知道我怎么能做到这一点?谢谢

javascript jquery google-chrome google-chrome-extension

6
推荐指数
1
解决办法
2228
查看次数

getBoundingClientRect() 返回错误的宽度

我正在使用Angular Material我的网格系统。我试图生成SVG和它应该告诉我的元素的宽度,但它是getBoundingClientRect()正在恢复300px,尽管其宽度618px。我再次尝试使我的窗口变小,但它仍然显示为300px即使这次它实际上是100px..

这是我的 HTML:

<div layout="row" layout-wrap layout-padding>
    <div flex="33" ng-repeat="result in ctrl.results">
        <svg height="100%" width="100%" position>
          <rect x="0" y="0" width="100%" height="100%" fill="#da552f"></rect>
          <text fill="#ffffff" x="50%" y="50%" alignment-baseline="middle" text-anchor="middle" font-size="48" font-family="Verdana">Hello World</text>
        </svg>
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

这是我对该position属性的angularjs 指令:

var app = angular.module('MainDirective', []);

app.directive('position', function () {
    return {
        restrict: 'A',
        link: function ($scope, element, attrs) {
            var rect = element[0].getBoundingClientRect();
            var text = element.children()[1].getBBox();
            console.log(rect)
        } …
Run Code Online (Sandbox Code Playgroud)

html javascript css svg angularjs

5
推荐指数
1
解决办法
5062
查看次数

Chrome 扩展消息作为对象传递

我正在从内容脚本向后台页面发送消息。该消息是一个 URL,然后在后台解析 ajax。当我 console.log 检索到background.js控制台日志中的数据是纯 html 时,但是当我将消息发送回我的内容脚本时,消息突然出现在一个对象中,我不知道为什么。

这是我的代码:

Content_Script.js:

chrome.runtime.sendMessage({greeting: URL}, function(response) {
      console.log(response.farewell); //logs an object: Object {farewell: Object}
      $('#stats-table2').append(response.farewell); //doesn't output anything.
    });
Run Code Online (Sandbox Code Playgroud)

背景.js:

chrome.runtime.onMessage.addListener(
  function(message, sender, sendResponse) {
      getStats(message, sender, sendResponse);
      return true;
});

function getStats(message, sender, sendResponse){
   $.ajax({
     url: message.greeting,
     dataType: 'text',
     success: function(data) {
          var info = $("<div>").html(data)[0].getElementsByTagName("table")[1];
          if(info != undefined) {
            console.log(info); //logs pure HTML into the console..
            sendResponse({farewell:info}); //sends message back.
          }

      }
  });
}
Run Code Online (Sandbox Code Playgroud)

我已经为重要部分添加了评论。我似乎无法弄清楚这一点,这让我发疯。有任何想法吗?谢谢!

javascript jquery google-chrome google-chrome-extension google-chrome-app

2
推荐指数
1
解决办法
1249
查看次数