标签: cross-browser

此代码在IE中不起作用

嗨所以我有这个jQuery/JS脚本.这基本上采用编码的URL字符串并解析它并将变量值保存到变量中.

基本上是PHP的$ _GET.

function getUrlVars() 
{
 var map = {}; 
 var parts = window.location.search.replace(/[?&]+([^=&]+)(=[^&]*)?/gi, 

   function(m,key,value) 
     { map[key] = (value === undefined) ? true : value.substring(1); }); 

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

基本上这个脚本做我想要的.从此URL字符串:

/autopop.html?Email=test%40test.com&LastName=Test+last&&FirstName=+Test+First
Run Code Online (Sandbox Code Playgroud)

我得到了价值观:

Email = test%40test.com

LastName = Test+last

FirstName = +Test+First
Run Code Online (Sandbox Code Playgroud)

我想要做的是使用此信息在同一页面上自动填充表单.(我知道你在想什么服务器端脚本会是一个更好的解决方案,但老板说我们无法访问它,相信我,我已经尝试过了)

长话短说,这是我的其余代码:

var keys = getUrlVars();

$(document).ready(function(){
    var fname = keys['FirstName'].replace(/\+/g , " ").trim();
    var lname = keys['LastName'].replace(/\+/g , " ").trim();
    var email = decodeURIComponent(keys['Contact0Email'].replace(/\+/g , " ")).trim();
    $("#Email").val(email);
    $("#FirstName").val(fname);
    $("#LastName").val(lname);
});
Run Code Online (Sandbox Code Playgroud)

这段代码完成了工作.除了一个浏览器外.IE浏览器.

IE不支持decodeURIComponent或所以我读过.无论如何,我尝试使用其他功能,decodeURI并且escape …

javascript jquery internet-explorer cross-browser

0
推荐指数
1
解决办法
4624
查看次数

后退按钮浏览器导致转到主页

我想更多地了解如何在用户点击浏览器的后退按钮时捕获,以及处理它的基本技术是什么.

作为一个例子,你知道如果按下后退按钮,如何将用户重定向到主页?

jquery cross-browser

0
推荐指数
1
解决办法
722
查看次数

如果浏览器是Safari或Chrome,则PHP的工作方式不同

我遇到了一个我甚至都认为不会发生的问题.基本上,页面的PHP脚本运行一些登录事物然后在表中决定<td>必须或不必具有特定类.现在,如果我运行该脚本,那么当<td>必须具有该类时,PHP运行严重不会返回任何类.在Chrome上,相应的课程就在那里.我试图关闭两个浏览器,然后多次重新加载页面,但似乎在Chrome和Safari中PHP脚本的行为有所不同,怎么可能呢?

发生这样的事情时我应该注意什么?

PS

我不是在第一个实例中发布PHP脚本,因为它是一个非常零碎的脚本,在这里获得整个脚本意味着数千行代码(注意只有日历脚本是100多行).另外我认为这不是脚本相关的问题.

html php browser html-table cross-browser

0
推荐指数
1
解决办法
675
查看次数

使用跨浏览器支持的jQuery更改<input>类型

问题

以下脚本完全符合我的要求,在除IE8之外的所有测试浏览器中,它会删除按钮而不用任何替换它.

背景

我一直在研究一种使用jQuery替换提交类型输入和图像类型输入的方法.

首先,我有以下内容适用于FF和webkit:

        marker = jQuery('<span class="marker"></span>').insertBefore('input#SearchButton');
        jQuery('input#SearchButton').detach().attr('type', 'image').attr('src',theme_folder+'/style/images/search_button.png').insertAfter(marker);
        marker.remove();
Run Code Online (Sandbox Code Playgroud)

但是,如果IE(它删除按钮,但不替换为图像),则所有6个版本都会失败,因此我为IE浏览器开发了以下脚本:

        marker = jQuery('<span class="marker"></span>').insertBefore('input#SearchButton');
        new_search = jQuery('<input id="SearchButton" value="Search" name="Searchbutton" type="image" src="'+theme_folder+'/style/images/search_button.png'+'" />')

        jQuery(new_search).insertAfter('input#SearchButton');
        jQuery('input#SearchButton').remove();
        marker.remove();
Run Code Online (Sandbox Code Playgroud)

我正在使用HTML Conditionals来过滤到适当脚本的流量,所以整个事情看起来像这样:

<!--[if IE]>
    <script>

        marker = jQuery('<span class="marker"></span>').insertBefore('input#SearchButton');
        new_search = jQuery('<input id="SearchButton" value="Search" name="Searchbutton" type="image" src="'+theme_folder+'/style/images/search_button.png'+'" />')

        jQuery(new_search).insertAfter('input#SearchButton');
        jQuery('input#SearchButton').remove();
        marker.remove();

    </script>
<![endif]-->

<![if !IE]>
    <script>

        marker = jQuery('<span class="marker"></span>').insertBefore('input#SearchButton');
        jQuery('input#SearchButton').detach().attr('type', 'image').attr('src',theme_folder+'/style/images/search_button.png').insertAfter(marker);
        marker.remove();

    </script>
<![endif]>
Run Code Online (Sandbox Code Playgroud)

forms jquery dom cross-browser internet-explorer-8

0
推荐指数
1
解决办法
3485
查看次数

对角线div叠加

我试图在某些内容中获得对角线div.

我有一些我想要禁用的选择框,使用禁用的属性,但我希望'disabled'在对角线上沿着字段集的单词上面有一个div (就像在房地产上出售标志的'sold').

是否有任何跨浏览器方式来实现这种效果与CSS?

我不想用图像来做这件事

javascript css cross-browser

0
推荐指数
1
解决办法
4050
查看次数

跨浏览器CSS整洁的解决方案建议?

在您看来,跨浏览器CSS(IE7,Safari,Chrome,Firefox)的整洁方式是什么.

考虑到这是一个巨大的Web应用程序,这有一个很大的主要css文件,以及一些其他css文件.

有条件的Css?并为每个浏览器使用不同的CSS?任何已知的工具?

谢谢.

css cross-browser

0
推荐指数
1
解决办法
230
查看次数

在浏览器中,如何确定哪种换行符适合操作系统?

\n\r\n(或什至\r)换句话说。我很想避免嗅探用户代理字符串。

第一次尝试:

var osLineBreak = (function () {
  var p = document.createElement('p');
  p.innerHTML = '<br>';
  return p.innerText;
}());
Run Code Online (Sandbox Code Playgroud)

不幸的是,Firefox不提供innerText,并且textContent在这种情况下返回空字符串。

第二次尝试:

var osLineBreak = (function () {
  var
    lineBreak,
    body = document.body,
    range = document.createRange(),
    selection = window.getSelection(),
    p = document.createElement('p');

  // we cannot make a selection unless `p` is in the DOM,
  // so ensure that it is not visible when we insert it
  p.style.position = 'absolute';
  p.style.left = '-9999px';
  // …
Run Code Online (Sandbox Code Playgroud)

javascript dom cross-browser

0
推荐指数
1
解决办法
685
查看次数

如何在浏览器中更改所选文本的背景颜色?

我们都知道,当我们在浏览器中选择文本部分时,其背景颜色变为蓝色.这是通过CSS或JavaScript更改此颜色的方法吗?

html javascript css browser cross-browser

0
推荐指数
1
解决办法
1866
查看次数

旧的IE JavaScript不支持indexOf

从输入文件类型我传递fullPath(整个本地路径名称)到javascript,我写了javascript知道文件扩展名类型,

 while (fullPath.indexOf("\\") != -1)
            fullPath = fullPath.slice(file.indexOf("\\") + 1);
        alert(fullPath);
Run Code Online (Sandbox Code Playgroud)

我在IE中只有在上面的部分有问题,我发现在IE中不支持indexOf,我怎么可能改变我的这个.如果不是这种情况,那么有任何替代方法可以知道可以在所有浏览器中使用的文件扩展名.

谢谢,
迈克尔德

javascript browser internet-explorer cross-browser

0
推荐指数
1
解决办法
3978
查看次数

检测视口大小调整的问题

我正在开发一个需要垂直边框的项目,这些边框目前根据页面大小或页面长度计算,具体取决于哪个更长,但存在一个小问题.

我正在使用Firefox,例如,如果我的noscript插件启动,例如我允许脚本,垂直边框将在页面底部有一个间隙.

作为一个例子,有没有什么办法可以使用javascript来检测多个浏览器的视口变化?

我找到了某个地方,watch()但无法在其上找到可靠的文档以及哪些浏览器支持此功能.我正在尝试做什么?这watch()是正确的方法吗?如果是这样,任何人都可以给我一些文件,如果没有,我应该看什么?

html javascript cross-browser

0
推荐指数
1
解决办法
2116
查看次数