标签: href

BASE HREF,javascript和Internet Explorer vs. Firefox

题:

IE和Firefox/Safari似乎与BASE HREF和Javascript window.location类型请求的处理方式不同.首先,这是对问题的准确描述吗?这是怎么回事?什么是处理这种情况的最佳跨浏览器解决方案?

语境:

我有一个小的PHP平面文件sitelet(它实际上是一个可用性测试原型).

我在PHP中动态生成BASE标签的HREF值,即如果它在我们公司的服务器上运行,它是:

$basehref = 'http://www.example.com/alpha/bravo/UsabilityTest/';
Run Code Online (Sandbox Code Playgroud)

在我的本地开发机器上,它是:

$basehref = 'http://ellen.local/delta/echo/foxtrot/UsabilityTest/';    
Run Code Online (Sandbox Code Playgroud)

对于其中一个任务,我收集一些用户输入,在Javascript中对其进行一些转换,并使用如下代码发送到服务器:

function allDone() {
    // elided code for simplicity of stackoverflow question
    var URI = "ProcessUserInput.php?";
    URI = URI + "alphakeys=" + encodeURI( keys.join(",") );
    URI = URI + "&sortedvalues=" + encodeURI( values.join(",") );
    window.location = URI;
}
Run Code Online (Sandbox Code Playgroud)

javascript文件(包含函数allDone())和处理PHP脚本(ProcessUserInput.php)都位于UsabilityTest的子目录中.换句话说,他们的实际网址是

http://www.example.com/alpha/bravo/UsabilityTest/ foxtrot/ProcessUserInput.php aka

$basehref . '/foxtrot/ProcessUserInput.php'

问题

IE的JavaScript基本上似乎忽略了BASE HREF.javascript和PHP处理器存在于同一目录中,因此对ProcessUserInput.php的调用很好.输入得到处理,一切正常.

但是当我在Firefox上测试时,JavaScript 似乎确实使用了BASE HREF,因为脚本的输出被发送到了

$basehref . '/ProcessUserInput.php'
Run Code Online (Sandbox Code Playgroud)

这会中断,因为ProcessUserInput.php位于basehref的子目录中.但是,如果我将子目录名称添加到javascript中,它将不再适用于IE. …

html javascript href

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

jQuery:如何获取url的参数?

jQuery的新手,我在获取服务器生成的url参数时遇到问题.我有这样的网址:

<span class="popuptest"><a href="www.example.com/test?param1=1&param2=2">find param</a></span>
Run Code Online (Sandbox Code Playgroud)

我的jquery函数看起来像这样:

$(function() {
  $('.popuptest a').live('click', function(event) {
  $.extend({
    getUrlVars: function(){
      var vars = [], hash;
      var hashes = this.href.slice(this.href.indexOf('?') + 1).split('&');
      for(var i = 0; i < hashes.length; i++)
      {
        hash = hashes[i].split('=');
        vars.push(hash[0]);
        vars[hash[0]] = hash[1];
      }
      return vars;
    },
    getUrlVar: function(name){
      return $.getUrlVars()[name];
    }
  });
  var second = getUrlVars()["param2"];
  alert(second);
  return false;
  });
});
Run Code Online (Sandbox Code Playgroud)

点击链接应该显示"2",但我什么都没得到... jQuery noob的任何帮助?提前致谢!

我在博客上发现了这个:http://jquery-howto.blogspot.com/2009/09/get-url-parameters-values-with-jquery.html

parameters jquery get param href

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

webkit/Chrome history.back(-1)onclick vs href

大家都知道,但我会重复这个问题:

<a href="#" onClick="history.go(-1)">Back</a>
Run Code Online (Sandbox Code Playgroud)

无法在基于WebKit的浏览器(Chrome,Safari,Mxthon等)中使用

另一种不起作用的方法(应该工作)是:

<a href="#" onclick="javascript:window.history.back(-1);">Back</a>
Run Code Online (Sandbox Code Playgroud)

你可以这样做 - 工作!(但是在url提示中显示了JS)

<a href="javascript:window.history.back(-1);">Back</a>
Run Code Online (Sandbox Code Playgroud)

要在onclick事件中使用JS,你可以这样做(有效,但请参阅下面的评论):

<a onclick="javascript:window.history.back(-1);">Please try again</a>
Run Code Online (Sandbox Code Playgroud)

缺少href将使其工作,但它不会显示为可点击链接,您可以应用CSS使其看起来像链接,应用蓝色,下划线和光标手,但谁想要?

javascript google-chrome onclick href

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

下载文件名不起作用的属性?

下载属性用于使浏览器下载资源锚点而不是导航到它.作为选项,可以提供下载文件的新文件名.

请注意,并非所有浏览器都支持此功 请参阅http://caniuse.com/#feat=download

我们假设我们有以下锚链接:

<a href="http://video-js.zencoder.com/oceans-clip.mp4" download="video.mp4"> download </a>
Run Code Online (Sandbox Code Playgroud)

通过单击链接,我希望下载名为video.mp4的文件.但实际的文件名是oceans-clip.mp4,用于下载的文件.你知道为什么这里没有使用新的文件名吗?(我用Chrome测试了这个)

谢谢!

html html5 href

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

如何在没有浏览器的情况下下载XML而在另一个选项卡中打开它

我有一个要下载的xml文件.众所周知,当我给出以下链接时

<a href="some.xml">Downlad XML</a>
Run Code Online (Sandbox Code Playgroud)

XML将在显示它的新选项卡中打开.但是我想知道是否有办法,这可以像其他文件一样下载,如.zip文件

xml browser download href

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

获取jQuery的href属性

我有一些表行

<tr class="b_row">
    <td>
        <div class="cpt">
            <h2>
                <a href="/ref/ref/1.html">example</a>
            </h2>
        </div>
    </td>
</tr>

<!--more elements -->

<tr class="b_row">
    <td>
        <div class="cpt">
            <h2>
                <a href="/ref/two/23.html">example N</a>
            </h2>
        </div>
    </td>
</tr>
Run Code Online (Sandbox Code Playgroud)

我需要在属性中获取超链接.我用这个脚本

function openAll()
{
    $("tr.b_row").each(function(){
    var a_href = $('div.cpt').find('h2 a').attr('href');
    alert ("Href is: " + a_href);
}
Run Code Online (Sandbox Code Playgroud)

问题:变量a_href总是/ ref/ref/1.html

each jquery get href attr

17
推荐指数
2
解决办法
12万
查看次数

HTML强制URL超链接被视为非相对(绝对)

我有一个用户为各种客户的网站输入的URL列表...我正在将此列表从服务器加载到网格中供用户查看...我通过用href HTML包装来使URL可点击标签...问题是,有时用户输入没有http://或www的网址.前缀,因此浏览器将它们视为相对URL,这些URL从来就不是这种情况,因为所有这些网站都是针对我们的客户而且都是外部的.有没有办法强制将这些URL视为绝对而不是相对?

这是一个例子:

<a target='_blank' href='google.com'>google.com</a>
Run Code Online (Sandbox Code Playgroud)

如果你试试这个,你会看到浏览器会认为它是一个不应该是这种情况的相对路径.

谢谢


解:

我选择检查'//'(因为我不知道协议是什么 - 可能是http或https),如果没有找到,我认为它是一个http网站,我用URL作为前缀 - 所以总之,没办法强制浏览器将超链接视为绝对

html url relative-path href absolute-path

16
推荐指数
2
解决办法
9896
查看次数

在onclick处理程序中修改目标URL

是否可以在onclick处理程序中修改目标URL?怎么样?

我不想使用诸如window.location = ...因为它改变了浏览器的行为(点击vs ctrl-click,在新标签中打开,在特定窗口/框架中打开等等).我想要一个干净的解决方案 - 只需更改网址,其余部分应该像往常一样自行完成.

$(...).click(function () {
    if (check_some_condition) 
        // modify target url here...
        // do not want to do window.location= - this is not clean
        // as it changes the browsers' behaviour (ctrl-click, opening in particular window/frame etc.)
    return true;
});
Run Code Online (Sandbox Code Playgroud)

javascript jquery href

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

如何使用jquery在div中添加文本链接?

我想在div中放置一些文本作为链接.

例如,我想在<a href="http://www.google.com"带有class-id为"my-link"的div中放置带有超链接的文本"Google ".

如何使用jquery或javascript完成?

html javascript jquery href

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

单击带有selenium和python的href按钮?

我有一个LinkedIn页面上的一个按钮,代码如下:

<div class="primary-action-button"><a class="primary-action label" href="/requestList?displayProposal=&amp;destID=39959446&amp;creationType=DC&amp;authToken=Yr4_&amp;authType=OUT_OF_NETWORK&amp;trk=vsrp_people_res_pri_act&amp;trkInfo=VSRPsearchId%3A2998448551382744275729%2CVSRPtargetId%3A39959446%2CVSRPcmpt%3Aprimary">Send InMail</a></div>
Run Code Online (Sandbox Code Playgroud)

有没有办法只通过其href链接点击一个元素?谢谢

python selenium click href button

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