我正在使用极简主义的JavaScript框架+ Timber开发一个WordPress网站.我注意到页面之间有大约1500毫秒的延迟.我想使用W3 Total Cache或WP Super Cache来查看我是否可以使用缓存功能,以便它可以更快地加载页面.
它似乎更快,但我有一些渲染问题.因为我使用Timber,我有部分模板,一个例子看起来像这样.
Contacts.twig
{% extends "_base.twig" %}
{% block content %}
{% if not isAJAX %}<section>{% endif %}
<div>
<div>
<section>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Necessitatibus quis doloribus libero et harum, molestiae, nam alias voluptatem sequi rem inventore aliquid reiciendis</p>
</section>
</div>
</div>
{% if not isAJAX %}</section>{% endif %}
{% endblock %}
Run Code Online (Sandbox Code Playgroud)
当我激活W3 Total Cache时,当我重新加载此页面时,http://example.com/contact,它只渲染出这个特定的HTML字符串,没有页眉或页脚,这意味着它不会渲染出来_base.twig
.
在我contact.php
看来,它看起来像
<?php
/**
* Template Name: Contact Template
*/ …
Run Code Online (Sandbox Code Playgroud) Fissio回答
我想在Angular中创建一个简单的搜索功能.当用户在输入字段中输入内容时,我想在我的JSON中搜索所有"标题",如果一个单词与输入匹配,那么我想要带回与匹配相关的所有对象.
厂
我首先创建了一个Factory,使用Promise从JSON中检索数据.
.factory('podcastData', function($http) {
var podcastData = {
async: function() {
var promise = $http.get('http://radio-sante-animale.fr/podcast-data.php').then(function(response) {
return response.data.categories;
})
return promise;
}
};
return podcastData;
})
Run Code Online (Sandbox Code Playgroud)
然后在我的控制器中,我尝试在我的控制器中执行搜索程序.到目前为止,我设法做了一个for循环,我得到了数组的长度,然后我得到了数组中的所有'Podcasts',然后我设法得到所有与输入匹配的值.
CONTROLLER
更新
$scope.findValue = function(enteredValue) {
console.log(enteredValue);
var filtered = [];
podcastData.async().then(function(data) {
for (i = 0; i < data.length; i++) {
angular.forEach(data[i].podcasts, function(podcasts, key) {
var foundPodcasts = _.filter(podcasts, function(podcast) {
return podcasts.title.toLowerCase().indexOf(enteredValue) >= 0
});
if (typeof foundPodcasts !== 'undefined') {
filtered.concat(foundPodcasts);
console.log(foundPodcasts);
};
});
}
});
} …
Run Code Online (Sandbox Code Playgroud) 我无法弄清楚如何根据图像大小将 PlaneGeometry 设置为良好的纵横比。
var material = new THREE.MeshBasicMaterial({
map : THREE.ImageUtils.loadTexture('img/bunny.png')
});
var plane = new THREE.Mesh(new THREE.PlaneGeometry(20, 20*.75), material);
plane.position.set(0, 10, -60)
scene.add(plane);
Run Code Online (Sandbox Code Playgroud)
到目前为止我尝试过的工作,但我意识到我仍然在平面上设置固定的宽度/高度。
我想让飞机设置图像的大小,然后我可以缩小它。
使用SVG的新手.我有一个工作演示,在x轴上从左到右有一个线性渐变渐变,但是我试图在y轴上从底部到顶部产生相同的影响.试过几种不同的方法,但不能让它工作相同.
https://codepen.io/joshuaeelee/pen/bqYmEG
HTML
<div class="share">
<ul>
<li>
<svg class="svg" style="width:100%;height:100%;position:fixed;top:0;bottom:0;left:0;">
<defs>
<linearGradient id="gradient-0">
<stop offset="0.8" stop-color="#fff"/>
<stop offset="1" stop-color="#000"/>
</linearGradient>
<mask id="gradient-mask-0" maskUnits="objectBoundingBox" maskContentUnits="objectBoundingBox">
<rect class="js-rect" x="-2" y="0" width="2" height="1" fill="url(#gradient-0)" />
</mask>
</defs>
<image class="js-images" x="0" y="0" width="100%" height="100%" xlink:href="http://68.media.tumblr.com/ef71091b57992c63cd6b6371160694b7/tumblr_o9c283SMGZ1st5lhmo1_1280.jpg" / mask="url(#gradient-mask-0)" preserveAspectRatio="xMidYMid slice">
</svg>
</li>
</ul>
Run Code Online (Sandbox Code Playgroud)
JS - 使用TweenMax更改Rect上的属性
const tl = new TimelineMax()
let firstRect = document.querySelector('.js-rect')
tl.to(firstRect, 5, {
attr: {
x: 0
}
})
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用 PHP 从 Base64 字符串生成 PDF。当我将其粘贴到浏览器中或使用网站 base64.guru 时,base64 正在工作,但是每次它在本地写入以及当我尝试打开它时,它都会说它已损坏。
Base64 字符串是
$text = 'data:application/pdf;base64,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Cjw8IC9UeXBlIC9FeHRHU3RhdGUKL0JNIC9Ob3JtYWwKL0NBIDEKPj4KZW5kb2JqCnhyZWYKMCAxNgowMDAwMDAwMDAwIDY1NTM1IGYgCjAwMDAwMDAwMDkgMDAwMDAgbiAKMDAwMDAwMDA3NCAwMDAwMCBuIAowMDAwMDAwMTIwIDAwMDAwIG4gCjAwMDAwMDAzNzIgMDAwMDAgbiAKMDAwMDAwMDQwMSAwMDAwMCBuIAowMDAwMDAwNTM4IDAwMDAwIG4gCjAwMDAwMDA2NDEgMDAwMDAgbiAKMDAwMDAwMTE3MiAwMDAwMCBuIAowMDAwMDAxMjgxIDAwMDAwIG4gCjAwMDAwMDEzODkgMDAwMDAgbiAKMDAwMDAwMTUwMCAwMDAwMCBuIAowMDAwMDAxNjE1IDAwMDAwIG4gCjAwMDAwMDE2NzUgMDAwMDAgbiAKMDAwMDAwMTczNSAwMDAwMCBuIAowMDAwMDAxNzkyIDAwMDAwIG4gCnRyYWlsZXIKPDwKL1NpemUgMTYKL1Jvb3QgMSAwIFIKL0luZm8gNSAwIFIKL0lEWzwyOWE5YjI5NDI2MWQ5ZWIxNDIyYTgyZGU2N2ZmNDdiYj48MjlhOWIyOTQyNjFkOWViMTQyMmE4MmRlNjdmZjQ3YmI+XQo+PgpzdGFydHhyZWYKMTg0OQolJUVPRgo=';
Run Code Online (Sandbox Code Playgroud)
这就是我尝试使用的。它将文件写入该文件夹,但它说文件已损坏。我已经尝试了有关堆栈溢出的所有不同解决方案,但似乎无法使其工作。
$data = sanitize_text_field(base64_encode($text));
file_put_contents('output.pdf', base64_decode($data));
Run Code Online (Sandbox Code Playgroud)