我在我的网站上运行页面速度洞察并得到以下结果:
使用gzip或deflate压缩资源可以减少通过网络发送的字节数.
为以下资源启用压缩,以将传输大小减少350.1KiB(减少71%).
压缩https://static.xx.fbcdn.net/rsrc.php/v2/yV/r/jchZvGuNSq4.js可以节省230.8KiB(减少72%).
压缩http://connect.facebook.net/en_US/sdk.js可以节省119.3KiB(减少69%).
我想知道是否有人知道如何压缩这些文件,因为他们直接从Facebook sdk服务?
这是我在我的网页中使用的facebook脚本:
<script>
window.fbAsyncInit = function() {
FB.init({
appId : '---- my app ID here -----',
xfbml : true,
version : 'v2.4'
});
};
(function(d, s, id) {
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) return;
js = d.createElement(s); js.id = id;
js.src = "//connect.facebook.net/en_US/sdk.js#xfbml=1&version=v2.4";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));
</script>
Run Code Online (Sandbox Code Playgroud)
任何帮助将不胜感激,因为我无法找到这个确定问题的明确答案.
compression optimization http-compression facebook-javascript-sdk
我有以下代码片段(需要在全屏模式下查看),我试图将<main>元素直接放置在<header>元素下方。我将 置于<header>固定位置,因为我希望当用户滚动元素中的内容时它保持在屏幕顶部<main>。我已经尝试了我所知道的一切,但我能想到的最好的方法是将<header>元素放置在元素之上<main>,这会切断大部分内容。
我想出的最接近的解决方案是在<main>元素上放置一个猜测的顶部填充,这样它就会清除<header>. 然而,这个解决方案并不能很好地考虑各种屏幕尺寸,因为我使用的是 rem 尺寸而不是 px。<header>当将多个元素放置在使用相对或基于百分比的高度的内部时,顶部填充的想法会变得更糟。在一种屏幕尺寸上,所有内容都可能完美排列,而在不同的屏幕尺寸上,内容可能会相差很大。
最后,我知道我可以使用 jQuery 动态设置顶部填充,但它似乎并不总是那么有效。想知道是否有一个纯 css/html 解决方案。
谁能告诉我我在这里缺少什么?我的顶部填充方法是唯一可行的解决方案吗?
$(document).ready(function() {
$('#navToggle').click(function() {
$("div#bottom-container > nav").slideToggle();
});
$(window).resize(function() {
if(window.innerWidth >= "751") {
$("header > div#bottom-container > nav").show();
}else {
$("header > div#bottom-container > nav").hide();
}
});
$("header > div#bottom-container > nav > ul > li > a").click(function(e) {
if (window.innerWidth <= "750") {
if ($(this).siblings().size() > 0) …Run Code Online (Sandbox Code Playgroud)我有一个PHP数组,我试图分成2个不同的数组.我试图提取包含"隐藏"一词的任何值.因此,一个数组将包含不包含单词"hidden"的所有值.另一个数组将包含包含"hidden"一词的所有值.我只是无法弄清楚如何做到这一点.
原始数组来自一个表单帖子,其中包含来自一堆复选框和隐藏输入的键和值.所以实际的post值看起来像这样:
Group1 => Array([0] => item1,[1] => item2hidden,[2] => item3,[3] => item4,[4] => item5hidden)
Run Code Online (Sandbox Code Playgroud)
所以为了简化它:
$myArray = Array(item1, item2hidden, item3, item4, item5hidden)
Run Code Online (Sandbox Code Playgroud)
最终输出
$arr1 = (item1, item3, item4)
$arr2 = (item2hidden, item5hidden)
Run Code Online (Sandbox Code Playgroud)
有谁知道怎么做这样的事情?
我正在尝试使用 jQuery 创建以下我想要输出的示例数组:
[["foo0","foo1"],["foo2","foo3","foo4"],["foo5"]]
Run Code Online (Sandbox Code Playgroud)
我尝试使用的代码:
[["foo0","foo1"],["foo2","foo3","foo4"],["foo5"]]
Run Code Online (Sandbox Code Playgroud)
var counter = 0;
var arr = [];
$('.unknown-number-of-elements').each(function(){
var keyNumber = $(this).val();
var valToPush = "foo"+counter;
if(keyNumber in arr){
arr[keyNumber].push(["'"+ valToPush +"'"]);
}else{
arr[keyNumber] = valToPush;
}
counter++;
});
console.log(arr);Run Code Online (Sandbox Code Playgroud)
上面的代码给出了以下错误:
未捕获的类型错误:arr[keyNumber].push 不是函数
基本上,如果数组键已经存在,我想创建一个子数组并向该子数组添加值。
我正在使用jQuery DataTables来显示来自JSON编码的PHP响应的信息.JSON响应包含对象"name"."name"包含"Full Name","Last Name","ID".我一直在用columns我想要的方式显示数据但是,我遇到了一个我无法弄清楚的问题.
在下面的代码中,示例1工作正常,并在按"姓氏"排序时显示"全名".但是,示例2根本不起作用.所需的输出将包含HTML呈现的显示并按"姓氏"排序.在示例3中,显示以我想要的方式呈现,但是没有正确排序.
有谁知道如何调整示例2输出我正在寻找的东西(渲染和排序数据)?
var oTable = $('#table').DataTable({
'ajax': {
url: 'PHP-file-returns-JSON.php',
type: "POST",
dataSrc: function ( data ) {
return data.cols;
},
data: function(d) {
///send additional values to POST
var frm_data = $('#val1, #val2').serializeArray();
$.each(frm_data, function(key, val) {
d[val.name] = val.value;
});
}
},
'columns':[
// exapmle 1 - works but not rendered with HTML
{ data: {
_: "name.Full Name",
sort: "name.Last Name",
}
},
// example 2 not working at all
{ …Run Code Online (Sandbox Code Playgroud) 我正在开发一个jQuery Datatable项目,该项目需要根据特定的行类过滤数据。我要根据条件在创建行时向行中添加类。我正在尝试为用户提供一种单击按钮的方式,该按钮将应用仅显示包含特定类的行的过滤器。
我尝试了几种不同的解决方案,但似乎无法使其工作。有人知道如何正确执行此操作吗?
这是JSFiddle
$('#table').DataTable({
data: data,
columns: [
{
"data": "item1",
"render": function ( data, type, row ) {
if(type === 'display'){
return "<span class='format1'>"+data+"</span>";
}else if(type === 'sort'){
return data;
}else if(type === 'filter'){
return data;
}else{
return data;
}
}
},
{
"data": "item2",
"render": function ( data, type, row ) {
if(type === 'display'){
return "<span class='format2'>"+data+"</span>";
}else if(type === 'sort'){
return data;
}else if(type === 'filter'){
return data;
}else{
return data;
}
}
} …Run Code Online (Sandbox Code Playgroud) 好的,我正在使用jQuery验证插件来检查简单表单上的错误.除错误放置外,一切正常.我试图在包含错误的INPUT之后将我的错误消息放入SPAN元素.出于某种原因,下面的代码将错误消息放在似乎是一个全新的LABEL元素中.知道我在这里做错了什么吗?
我的HTML
<form action="" id="contact" method="POST">
<p>
<label for="name">Name:</label>
<input type="text" name="name" id="name" class="text proper"/><span class="errMsg"></span>
</p>
<p>
<label for="email">* Email:</label>
<input type="text" name="email" id="email" class="required email text"/><span class="errMsg"></span>
</p>
<p>
<label for="extra">*Question:</label>
<textarea name="onlyText" id="onlyText" class=""></textarea><span class="errMsg"></span>
</p>
<button type="submit" id="send">Send Now</button>
<div id="results"></div>
</form>
Run Code Online (Sandbox Code Playgroud)
我的jQuery
<script>
jQuery(document).ready(function($){
$.validator.addMethod("regex",function(value, element, regexp) {
var check = false;
var re = new RegExp(regexp);
return this.optional(element) || re.test(value);
},
"No special Characters allowed here. Use only upper and lowercase letters (A through …Run Code Online (Sandbox Code Playgroud) 通常当我使用PHP时,我为每个表单输入创建一个变量和post语句,如下所示:
$myVar1 = $_POST["formItem1"];
$myVar2 = $_POST["formItem2"];
ect......
Run Code Online (Sandbox Code Playgroud)
我知道我是否使用:
echo $_POST;
Run Code Online (Sandbox Code Playgroud)
我可以从表单输入中获取所有键和值,但我不知道如何在脚本中使用它们.
所以我想我有两个问题:
如何在不为每个输入创建变量的情况下快速发布所有表单输入?
如何在不将脚本分配给特定变量的情况下使用脚本中的发布?
jquery ×4
arrays ×2
datatables ×2
javascript ×2
php ×2
sorting ×2
compression ×1
css ×1
css-position ×1
datatable ×1
fixed ×1
html ×1
json ×1
optimization ×1
post ×1
search ×1
split ×1
validation ×1