可以使用 Angular 从 URL 数组中列出 Google Pagespeed Insight 结果吗?

载脂蛋白11oCreed

我一直在尝试使用 Angular 来为数组中的每个 url 列出来自 Google Page Speed 的图像优化结果,但我怀疑控制器被配置为覆盖以前的结果。除了先前的 url 结果之外,不会列出结果。Angular 如何在不覆盖先前结果的情况下为每个 url 发出请求并呈现结果?请看下面的代码:

<section class="container" ng-app="myApp">
<article ng-controller="myCtrl">
<div my-gpsi></div>
</div>
</article>
</section>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.6.1/angular.min.js"></script>
<script>
var test=document.getElementById('testaway');
var urlList = ["https://www.mywebsite.com/array1.html","https://www.mywebsite.com/array2.html", "https://www.mywebsite.com/array3.html"];
var urlNew = [];
angular.module('myApp', [])
.factory('gpsiUrl', function gpsiUrl() {
angular.forEach(urlList,function(url){
    this.push("https://www.googleapis.com/pagespeedonline/v2/runPagespeed?url=" + url + "&key=googlekey")
},urlNew);
return urlNew;
})
.controller('myCtrl',['$scope','gpsiUrl', '$http','$sce','$compile', function($scope,gpsiUrl,$http,$sce,$compile){
        $scope.urllist=gpsiUrl;
        angular.forEach($scope.urllist,function(url){
            $http({
                method: 'GET',
                url: $sce.trustAsResourceUrl(url),
                dataType: 'json',
                headers: {
                    "Content-Type": "application/json"
                }
            }).then(function successCallback(response) {
            $scope.pageName = response.data;
            $scope.urlBlocks = response.data.formattedResults.ruleResults.OptimizeImages.urlBlocks;
        }, function errorCallback(response) {
            console.log("fail");
        });
    });
}])
.directive('myGpsi', function() {
return {
template: '<div><h1 class="jumbotron">{{ pageName.id }}</h1><div ng-repeat="x in urlBlocks"><div ng-repeat="obj in x.urls"><div ng-repeat="n in obj.result"><div style="word-wrap:break-word;"><table><tr><th ng-repeat="j in n track by $index" style="padding:0 1em;">{{ j.key }}</th></tr><tbody><tr><td ng-repeat="j in n track by $index" style="padding:0 1em;">{{ j.value }}</td></tr></tbody></table></div></div><hr style="width: 100%;height: 1px;background-color: #d3d3d3;display: block;margin: 25px 0;"></div></div></div>'
};
})
</script>
载脂蛋白11oCreed

在重新考虑方法后得到了这个工作。我删除了 Angular foreach 方法、工厂和服务。相反,ng-repeat 将通过普通 JS for 循环修改的 url 数组通知。结果被追加而不是替换来自先前 http 请求的数据。

var siteUrls['https://www.mywebsite.com/array1.html','https://www.mywebsite.com/array2.html','https://www.mywebsite.com/array3.html','https://www.mywebsite.com/array4.html']
var myapp = angular.module('myApp', []);
myapp.controller('myCtrlr', ['$scope','$http',function($scope, $http) {
for(i=0;i<siteUrls.length;i++){
$scope.mySiteUrls=[];
    var newURl="https://www.googleapis.com/pagespeedonline/v2/runPagespeed?url=" + siteUrls[i] + "&rule=googlekey";
    $http.get(newURl).then(function(response) {
    $scope.mySitePageRaw = response.data;
    $scope.mySitePageImageData = response.data.formattedResults.ruleResults.OptimizeImages.urlBlocks;
    $scope.mySiteUrls.push($scope.mySitePageRaw,$scope.mySitePageImageData);
});
}
}]);

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

可以使用Powershell列出URL目录的内容吗?

Google Pagespeed Insights 可靠吗

我可以使用 JavaScript 在 URL 中添加 /something 吗?

如何使用Nginx卸载在Ubuntu中安装的Google Pagespeed?

为什么 Google PageSpeed Insight 会将按钮(带有悬停效果)作为动画?

导出PageSpeed Insights(通过Google)结果

可以使用Angular的ui路由器限制直接URL导航吗?

使用Google字体传递Google PageSpeed

此PageSpeed Insight报告中的“来源摘要”是什么意思?

如何在Wordpress Pagespeed Insight中解决利用浏览器缓存的问题

我可以使用 Google Apps Script 替换 Google 表格中多个标签中的文本吗?

我可以使用用户输入的字符使用Angular动态过滤名称数组吗?

使用mod_pagespeed指定基本URL?

href:我可以获取Google搜索结果以使用/显示最终重定向网址吗?

Google Pagespeed Insight测试在快速网站上失败,并显示NO_FCP错误,有没有办法解决?

我可以使用Selenium IDE从Excel数据文件中打开网站URL吗?

可以使用BizTalk从动态URL中获取数据吗?

我可以使用本地主机作为Messenger Webhook中的URL回调吗

我可以使用属性在解释性文本中配置 URL 吗?

我可以使用 javascript 将重定向的 url 存储到变量中吗?

Android应用程序中的Google Product Sans字体,可以使用吗?

我可以使用平均功能在Google表格中向上或向下取整吗?

我可以使用Google翻译在Android应用中启用多国语言吗?

我可以使用外部程序在Google表格中运行自定义脚本吗?

我可以使用angular2组件中的EventEmitter传递变量吗?

您可以缩写应用标题以在应用抽屉中查看,但仍可以使用Google现在以其全名启动它吗?

是否可以使用Google Drive API列出Google Drive中指定目录中的文件?

Google DataStudio无法从URL获取参数,但是我可以使用Google Apps脚本Google Data Studio数据连接器传递参数值吗?

我可以使用相同的URL,但可以使用不同的动态细分吗?