小编Rad*_*ire的帖子

更改浏览器地址栏中的URL而不重新加载现有页面

可能重复:
修改URL而不重新加载页面

我正在寻找一种方法,使用我当前的javascript动画使我的内部链接功能正常,而不会在您点击它们时导致页面重新加载 - 但我希望在浏览器中更新URL.

许多网站都这样做,这是一个很好的例子:http://grooveshark.com/#!/ search?q = adf

如何在没有页面重新加载的情况下获取更新URL?


更多细节:

目前我的页面上的链接看起来像<a href="#aboutus">About Us</a>,这将带您<div id="aboutus"></div>通过javascript.

javascript看起来像:

$("#navigation a").click(function(e){
  animate(..scroll to section..);
  e.preventDefault(); // <==========
});
Run Code Online (Sandbox Code Playgroud)

我相信"e.preventDefault()"是导致URL不被更新的原因,但是如何在更改URL时阻止浏览器重新加载页面?

其他网站如何做到这一点?这种方法叫什么(所以我可以进一步研究它)?

谢谢.

html javascript url

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

将jquery变量合并到一个选择器中?

我正在寻找一种组合jquery变量的方法.通过相关问题,没有人似乎在尝试我想做的事情.

$("body, div, p") 是一种由选择器组合的方法,但是在为变量分配选择器之后,如何以类似的方式组合它们?

这是我尝试过的一种方法,但没有让它起作用.我也尝试将它们放入一个数组中(只需在$ body和$ p之后添加括号).

$body = $("body");
$div = $("div");
$p = $("p");
$mixed = $($body, $div, $p);
// $mixed = $("body, div, p"); is NOT what I am looking for
Run Code Online (Sandbox Code Playgroud)

在我的实际脚本中,我有一些<select>输入分配给变量.我想将它们分组,所以说我有一个<select>"FRUIT"和另一个有"VEGETABLES",我可以将它们都放入一个名为"PRODUCE"的jquery变量中.然后,如果我需要在两者上执行任何操作,我会使用产品代替.

......但这可能只是一种愚蠢的做事方式.

javascript variables jquery

21
推荐指数
1
解决办法
9147
查看次数

如何使用WooCommerce检索cart_item_data?

在该add_to_cart功能期间,有一个过滤器可以添加"购物车项目数据".过滤器是woocommerce_add_cart_item_data.我希望将自定义插件数据存储在此中,以便相对于项目存储数据,并且可以使用不同的数据添加多个产品.

这一切似乎都有效,但我无法检索数据.我无法弄清楚.数据在那里,我可以在序列化的字符串中看到它,但我不能把它拉出来.

echo '<pre>';
var_dump( WC() );

foreach( WC()->cart->get_cart() as $cart_item ) {
  var_dump( $cart_item );
  var_dump( WC()->cart->get_item_data( $cart_item ) );
}
echo '</pre>';
Run Code Online (Sandbox Code Playgroud)

第一个转储WC()有一个属性:session->_data->cart->(serialized data).但是,_data属性受到保护,但我可以在序列化数据中看到我的自定义字段.

$ cart_item是一个包含product_id和其他一些数据的数组,但它不包含我的自定义数据:(

最后,使用get_item_data()我认为我已经弄明白的方法.我传递了购物车项目对象,并且...一个空字符串.如果我传递密钥,而不是购物车项目本身,则相同.

我该如何访问购物车商品数据?


这是"添加购物车项目数据"功能,它起作用(或者至少看起来有效):

function save_class_menu_selection( $cart_item_data, $product_id, $variation_id ) {
  if ( !product_is_class( $product_id ) ) return $cart_item_data;

  // Save the date, or give a fatal warning. Date is required.
  if ( !empty($_REQUEST['class-date']) ) {
    $cart_item_data['class-date'] = stripslashes($_REQUEST['class-date']); …
Run Code Online (Sandbox Code Playgroud)

php wordpress cart woocommerce

18
推荐指数
2
解决办法
4万
查看次数

使cURL输出STDERR为文件(或字符串)

我们正在尝试调试服务器上的一些cURL错误,我希望看到STDERR日志.目前,我们所能看到的错误是"错误代码:7",我们无法连接到目标服务器.我们已经联系了主机并制定了特殊规则来打开我们需要的端口,我们甚至暂时忽略了证书.

不过,我们无法连接.我需要调试这个,但我看不到任何相关的信息.

我认为,提及"VERBOSE"和"STDERR"的路线是最重要的.没有任何内容写入$ curl_log.我究竟做错了什么?遵循手册逻辑,这应该是正确的......

PHP正在使用中:

<?php
$curl = curl_init();
$curl_log = fopen("curl.txt", 'w');
$url = "http://www.google.com";

curl_setopt_array($curl, array(
    CURLOPT_URL             => $url,        // Our destination URL
    CURLOPT_VERBOSE         => 1,           // Logs verbose output to STDERR
    CURLOPT_STDERR          => $curl_log,   // Output STDERR log to file
    CURLOPT_SSL_VERIFYPEER  => 0,           // Do not verify certificate
    CURLOPT_FAILONERROR     => 0,           // true to fail silently for http requests > 400
    CURLOPT_RETURNTRANSFER  => 1            // Return data received from server
));

$output = fread($curl_log, 2048);
echo $output; …
Run Code Online (Sandbox Code Playgroud)

php curl stderr verbose

13
推荐指数
2
解决办法
3万
查看次数

为什么新行无法在此javascript警报窗口中运行?

我看到警报窗口和新行有很多不同的问题.大多数是\n在PHP中被认为是新行,而不是被发送到javascript.

在我的例子中,字符串正在显示的新窗口中输出\n.我只是尝试\n通过jsfiddle 写入一个警告框,这很有用,所以它一定是我做事的方法......

这是返回控制台的字符串.如你所见,\n肯定存在:

Username is required\nPassword is required\nEmail is required\nPhone is required\nCardnumber is required

但是,它显示如下:

使用\n而不是新行的警报

为什么会这样?我认为这可能与数据类型有关,因为它是从中返回的$.ajax

if (canAjax && !try_ajax) { 
    e.preventDefault();
    $.ajax({
        type: "POST", 
        url: "mobilesubmit.php",
        data: {"use_ajax": true, "formdata": $("#register_form").first().serializeArray()},
        success: function(data) {

            // This stupid thing should make new lines!
            alert(data);

            console.log(data);
        },
        error: function (request, status, error) {
            try_ajax = true;
            $("#register_form").submit();
        }
    });
}
Run Code Online (Sandbox Code Playgroud)

javascript ajax jquery alert

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

将HTML表单提交为PDF

我们有一个高分辨率PDF(用于打印),其上有一些表格字段.我们希望有一个提交到PDF的HTML表单,然后将其放入相应的字段中.

我在谷歌找到了一个解决方案:http://koivi.com/fill-pdf-form-fields/

但是,使用该解决方案,您只能获得一个FDF文件......并且该演示对我不起作用,打开FDF文件只需下载另一个FDF文件.

由于此PDF将向公众开放,我们希望尽可能简单.如果我们必须打开原始PDF并导入这个FDF文件,我们需要一个不同的解决方案(我不确定FDF文件的用途,因为它不起作用).

一篇关于.net框架的相关帖子也有同样的想法,但只有付费商业解决方案:从HTML表格到PDF

到目前为止我找到的PHP解决方案是用于创建一个新的PDF,这不是我需要的.我们的PDF是使用Adobe Illustrator(或类似的adobe产品)创建的,并且具有嵌入字体,svg和图像内容的高分辨率.

表单元素到位,我们只需要将数据存入其中.

html php forms pdf

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

fputcsv 无法转义包含斜线双引号的整个单元格:\"

我正在构建一个 CSV 导出工具。几个月来它一直运行良好,但我们最近遇到了几个由单元格“爆炸”引起的额外线条的情况。

我已将问题缩小到 PHP(7.2.21 和其他版本)中的一个错误。我需要解决这个问题。下面是重现问题的 PHP 脚本。它在每个单元格中包含逗号和换行符:

<?php
$data = array(
    array( 'ID', 'Name', 'Content', 'Date' ),
    array( 34, 'Radley', 'This is <strong>bold text</strong>, and' . "\r\n" . 'a second line, the first time', '2019-08-23' ),
    array( 47, 'John', 'This a <a href=\"http://example.org/\">link</a>' . "\r\n" . 'a second line, again', '2019-08-24' ),
    array( 65, 'Bob', 'This plain text, with no html, and lots of commas'. "\r\n" . 'and a third extra row', '2019-08-25' ),
);

$fh = fopen('php://output', 'w'); …
Run Code Online (Sandbox Code Playgroud)

php csv

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

body/window/html/document的jQuery .scroll()事件

我需要一种跨浏览器的方式来绑定浏览器的本机滚动条的滚动事件.

$("html,body")似乎适用于firefox,而$(window)似乎适用于IE.

有没有更好的方法来使用正确的版本而不是试错?如果可能的话,我也想检测移动滚动.

mobile jquery scroll cross-browser

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

需要将json键值对转换为标准数组

我正在使用jquery的parseJSON()函数将json字符串插入到变量中.问题是,它将我的数据转换为对象而不是2d数组.例如,

myData = $.parse(JSON(data));
myData.name// = "Bob"
Run Code Online (Sandbox Code Playgroud)

问题是,"名称"不应该是一个关键(假设这是正确的术语).相反,它应该是:

myData[0] // = "name"
myData[1] // = "Bob"
Run Code Online (Sandbox Code Playgroud)

我怎么转换这个?或者有一种不同的方法,而不是使用for循环遍历数组的索引(但仍然能够像字符串一样访问键和值,就像在二维数组中一样).

编辑:这是一些正在使用的json(注意它的时间更长).这就是"数据"的内容

{"feat_3":"4356","feat_4":"45","feat_5":"564","feat_6":"7566"}
Run Code Online (Sandbox Code Playgroud)

arrays jquery json key-value

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

如何调用函数,作为"新对象",并再次调用函数?

作为一种学习体验,我正在尝试创建自己的面向对象的小控制台调试脚本.我希望它类似于jQuery,因为你可以将它称为函数(jQuery('div'))或对象(jQuery.ajax()).

我有下面的代码几乎正常工作.它基本上是"console.log"的别名.

我的目标是能够执行以下操作:

var log = new RadDebug;
// Create our function

log('You selected: %s', fruit_type);
// Invoke the top-level function
// Output: You selected: "Apple"

log.warn('You selected: %s', fruit_type);
// Invoke a method "warn", which displays a caution icon next to the log.
// Output: (!) You selected "Apple"
Run Code Online (Sandbox Code Playgroud)

我正在处理的脚本:

function RadDebug() {
  var debug_enabled = (debug_mode && window.console && window.console.log instanceof Function);

  // If this object was already initialize, redirect …
Run Code Online (Sandbox Code Playgroud)

javascript oop

3
推荐指数
1
解决办法
73
查看次数

选择不同的值,并计算出现次数

我有一个类和类的类别列表。我想显示每个类别有多少个类。像这样的东西:

category | # of classes
Sports   | 12
Fitness  | 32
Climbing | 8
Run Code Online (Sandbox Code Playgroud)

该表的设置使每个类都位于包含类别的行上。

category | class_name
fitness  | Learn to Skate
Run Code Online (Sandbox Code Playgroud)

我有以下 SQL,它生成不同类别的列表:

select 
    distinct category

from classes

order by category asc

; Output:
; Fitness
; Climbing
; Recreation
; ...
Run Code Online (Sandbox Code Playgroud)

我还想显示有多少个类。我认为这很简单:

select 
    distinct category,
    count(distinct category)

from classes

order by category asc

; Output:
; Fitness | 11
Run Code Online (Sandbox Code Playgroud)

输出几乎有效,但它只产生一行。没有count()它,它会产生 11 行,正如预期的那样。为什么这只产生一行?我怎样才能做到这一点?

mysql

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