标签: window.location

JSP或JavaScript等效于PHP的$ _SERVER ["HTTP_HOST"]?

我在我的JavaScript中使用了一个绝对URL,我为window.location编写了硬编码.

我不想每次测试我的应用程序时都要更改它.在PHP中,我会通过测试$ _SERVER ["HTTP_HOST"]变量来找出我所在的服务器并进行相应调整.但是,我对Java并不熟悉,并且想知道它是否有类似的方法?或者甚至可能是JavaScript有类似的方法?

代码如下:

var url = "http://172.17.1.107/store/results/index.jsp";
window.location = url;
Run Code Online (Sandbox Code Playgroud)

我想做的是:

var server = [something that returns just 172.17.1.107 (with or without the http:// is fine)]
var url = "http://" + server + "/store/results/index.jsp";
window.location = url;
Run Code Online (Sandbox Code Playgroud)

在PHP中我会这样做:

var server = <?= $_SERVER["HTTP_HOST"] ?>
var url = "http://" + server + "/store/results/index.php";
window.location = url;
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?我想我的运作是假设您必须使用绝对URL来更改JavaScript中当前窗口的位置.如果还有其他方法可以在没有绝对URL的情况下更改JavaScript中的窗口位置,请随时提供.

提前致谢...

javascript php java url window.location

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

Jquery:使用window.location获取某个url路径

我们的url路径名是

www.nicadpower.com/index.com
Run Code Online (Sandbox Code Playgroud)

但我们只希望以后拿到路径www.nicadpower.com这是

index.com
Run Code Online (Sandbox Code Playgroud)

我们如何使用window.location和jquery获取index.com

jquery jquery-selectors window.location

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

如何在JavaScript中更改window.location.href然后执行更多JS?

我有代码片段,点击链接执行,如下所示

cj_redirecturl="/HomeWork/main/load_course";
    utility.xhttprw.data(cj_redirecturl,{data:courseid},function(response){
        if(response){
            window.location.href=base_url+"main";

///next
utility.xhttprw.data(redirecturl,{data:""},function(response){
        if(response){

            id=ent;
            document.getElementById('content').innerHTML=response;
             // Assignemnt module
             //Call function from javascript/assignment.js file to display particular assignment  (ent:means assignment_id) //  
                if(con==5)
                {
                    get_assignment_id(ent);
                }
                if(con==9)
                {
                    get_content_details(ent);
                }


        }   //end of response       
    },false,false,false,'POST','html',true); 
        }
    },false,false,false,'POST','html'); 
Run Code Online (Sandbox Code Playgroud)

在上面的代码中,window.location.href=base_url+"main";将页面重定向到其各自的页面,但这会停止执行紧挨着它编写的代码.现在我希望这个代码在写入时执行,即首先代码应该带我到相应的"主"页面,然后代码写入后必须执行并给我一个必需的输出.

有人可以指导我实现这一目标吗?

javascript jquery window.location

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

Google Apps脚本location.reload在网络应用中

我使用的是GAS网络应用,当用户执行某些操作(例如点击特定的div)时,该应用需要刷新其内容。

在客户端,我有一个从onclick调用的脚本

google.script.run.withSuccessHandler(refreshCallback).myServersideFunction();

function refreshCallback(roomsPlus) {
    var statusDiv = document.getElementById("status");
    statusDiv.innerHTML = "Reloading...";
    window.location.reload(true);
};
Run Code Online (Sandbox Code Playgroud)

状态div更改为“正在重新加载...”,因此我知道回调已被调用,但随后它从未重新加载页面。Caja或google apps脚本会禁用页面刷新吗?还有另一种刷新页面的方法吗?

html javascript reload window.location google-apps-script

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

在浏览器中仅使用位置与使用window.location是否有任何区别

我发现自己总是写作:

console.log(window.location.href);
Run Code Online (Sandbox Code Playgroud)

甚至没有考虑过它.关于SO的大多数答案也是这样写的.我有什么理由不能写:

location.href
Run Code Online (Sandbox Code Playgroud)

既然location是窗口级别的对象?这有什么跨浏览器兼容性问题吗?

澄清:我知道有document.location- 这不是这个问题的内容.这location与使用window.location跨浏览器仅使用vs 有任何区别.

javascript window.location javascript-objects

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

使用window.location禁用UI-Router交互

这是一个很长的镜头,但UI路由器是如此受欢迎,以为可能有人在这里可以洞察这个问题.

我正在将项目迁移到Angular JS.该项目由一个包含多个不同面板的页面组成 - 每个面板都是从服务器下载的,带有AJAX的HTML,用Javascript注入到页面中,并与jQuery History管理的自己的href相关联.

jQuery历史跟踪浏览器状态并在每个面板注入Javascript后相应地更新window.href.例如:

Panel 1:
  window.location.href // http://myapp.com/panel1
  History.getLocationHref() // http://myapp.com/panel1
  History.getPageUrl() // http://myapp.com/panel1
Panel 2:
  window.location.href // http://myapp.com/panel2
  History.getLocationHref() // http://myapp.com/panel2
  History.getPageUrl() // http://myapp.com/panel2
Panel 3:
  window.location.href // http://myapp.com/panel3
  History.getLocationHref() // http://myapp.com/panel3
  History.getPageUrl() // http://myapp.com/panel3
Run Code Online (Sandbox Code Playgroud)

等等

因为每个面板都是注入的,而不是在注入DOM后用Angular编译它们,所以我为每个面板引导了单独的AngularJs应用程序.到目前为止,这已经很好了.

现在我在Panel 2中使用AngularJs UI-router - 所以我可以在替代模板中呈现数据.问题是,UI-Router必须以某种方式混淆浏览器历史记录和/或窗口href.因为一旦该应用程序被实例化,让我说我从Panel 1开始,然后单击Panel 2,然后单击Panel 3,我遇到了这个问题:

Panel 1:
  window.location.href // http://myapp.com/panel1
  History.getLocationHref() // http://myapp.com/panel1
  History.getPageUrl() // http://myapp.com/panel1
Panel 2:
  window.location.href // http://myapp.com/panel2
  History.getLocationHref() // http://myapp.com/panel2
  History.getPageUrl() // http://myapp.com/panel2
Panel 3:
  window.location.href // http://myapp.com/panel2
  History.getLocationHref() …
Run Code Online (Sandbox Code Playgroud)

javascript jquery window.location angularjs angular-ui-router

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

window.location 断开 websocket

我想打开下载链接而不打开空白页面(然后,我不会使用window.open)。然后我使用window.location.hrefor window.location.assign。但问题是这两种方法都会断开我的 websockets 连接。我该如何解决这个问题?

为了更清楚起见,没有抛出任何错误消息,我在 chrome 上测试了它。Websocket 就停止工作了。

javascript window.location websocket

6
推荐指数
0
解决办法
270
查看次数

无法从 React 应用程序中销毁 AWS Cognito 会话

我尝试通过调用注销端点来注销使用 AWS Cognito 的应用程序。我没有使用 AWS SDK,因为据我所知,它尚未涵盖 oauth 应用程序集成和使用外部联合身份提供商登录(如果我错了,请纠正我)。我从 AWS 托管的登录屏幕登录,当我调用其授权端点时,我会重定向到该屏幕。他们使用“代码”将我重定向回我的页面,我使用其令牌端点将其发回给他们以获取令牌。所有这些都是教科书上的 oauth 2.0 内容。

问题是,当我使用 JavaScript 浏览器重定向 (window.location.href = ....) 调用注销端点时,它不会清除我登录时设置的 cookie(“XSRF-TOKEN”和“cognito”) ") 并且我无法手动清除它们,因为它们是从 AWS 域设置的,该域与我的网站托管的域不同。当我在地址栏中输入注销链接时,cookie 会被清除。在代码中使用 window.location.href 和在地址栏中删除链接之间显然有区别。

javascript window.location reactjs amazon-cognito

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

在jQuery中使用window.location.hash

我想使用jQuery制作一个颜色渐变的导航菜单,其中对应于当前页面的"按下"按钮与"未按下"按钮的行为不同(具体地说,它在悬停时不会淡化为不同的颜色).如果我查看www.guitaracademy.nl上的示例,我看到他们使用带有window.location.hash属性的本机javascript.

但是,我似乎无法将此哈希变为jQuery.这是一个示例脚本:

<html>
<head>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js"></script>
<script type="text/javascript">
$(function(){
    var p=window.location.hash;
    $("#clickme").click(function(){
        alert(p)
    });
});
</script>
</head>
<body>
<a href="#test">Click me first</a>
<div id="clickme">Then click me</div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

加载此页面后,我点击"先点击我"链接; 然后在地址栏中,我看到原始网址附加了"#test".但是,如果我然后单击"然后单击我"div,我会看到一个空警报.好像哈希不是'更新'.

我非常感谢任何帮助.

hash jquery window.location

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

如何单元测试页面导航?

用例是这样的:我想在页面中运行代码进行单元测试(在浏览器中,QUnit或类似的东西).页面可以做的一件事就是导航到另一个页面.我在捕捉此事件时遇到问题,因为:

  • beforeunload无法停止操作(因此第一次导航会破坏我的测试)
  • 尝试重新定义window.location或window.location.href并且getter返回旧值并且禁止使用spying setter

我理解有安全理由不允许停止导航,但对于开发而言,能够这样做是非常有用的.

有没有可能这样做(我没有直接控制测试运行器,所以我不能只加载iframe中的代码并让它导航然后检查iframe的位置)?

编辑:更具体一点:我想测试,是否,基于来自facebook的记录/连接状态(我使用facebook-stub从github到mock fb),在登录按钮上安装了正确的处理程序(比如说,$('#login-btn')),通过点击导航页面到facebook oauth对话框,服务器流程(此处的详细信息并不重要).

所以我希望能够做到这一点:

// set up fb mock to not be connected
fbAsyncInit(); // simulate the startup of app
$('#login-btn').click();
equal(document.location.href, "http://www.facebook.com/oauth/...", "OAuth dialog not started.");
Run Code Online (Sandbox Code Playgroud)

但如果当然,没有实际的导航.怎么做测试?

javascript browser unit-testing window.location

5
推荐指数
2
解决办法
2372
查看次数