标签: navigateurl

Router Navigate在同一页面时不会调用ngOnInit

router.navigate在同一页面上调用一些查询字符串参数.在这种情况下,ngOnInit()不会打电话.它是默认还是我需要添加其他内容?

navigateurl ngoninit angular

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

.NET C#:WebBrowser控件Navigate()不加载目标URL

我正在尝试以编程方式通过WebBrowser控件加载网页,目的是测试页面及其JavaScript函数.基本上,我想比较通过此控件运行的HTML和JavaScript与已知输出,以确定是否存在问题.

但是,我在创建和导航WebBrowser控件时遇到了麻烦.下面的代码旨在将HtmlDocument加载到WebBrowser.Document属性中:

WebBrowser wb = new WebBrowser();
wb.AllowNavigation = true;

wb.Navigate("http://www.google.com/");
Run Code Online (Sandbox Code Playgroud)

在Navigate()运行后通过Intellisense检查Web浏览器的状态时,WebBrowser.ReadyState为'未初始化',WebBrowser.Document = null,并且它总体上看起来完全不受我的调用的影响.

在上下文中,我在Windows窗体对象之外运行此控件:我不需要加载窗口或实际查看页面.要求规定需要简单地执行页面的JavaScript并检查生成的HTML.

非常感谢任何建议,谢谢!

.net c# browser controls navigateurl

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

如何在 angular 应用程序中对 router.navigate 进行单元测试

我正在为 angular 应用程序运行单元测试,我想对导航在 angular 应用程序中是否正常工作进行单元测试。

 if (this.customer.length == 0) {
     this.router.navigate(['/nocustomer']);
 } 

Run Code Online (Sandbox Code Playgroud)

以及为此的单元测试

 it(`should navigate to nocustomer`,()=>{
   component.customers.length=0;
   //what must be written here to check this
})
Run Code Online (Sandbox Code Playgroud)

router unit-testing navigateurl angular

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

如果你不看它,webbrowser不会导航

我遇到了一个奇怪的问题.我有一个tabcontrol和3个标签.在每个标签上我都有一个webbrowser控件.他们都导航到一个网站.但它只会导航,如果您实际上正在查看webbrowser控件.因此,在任务栏或系统托盘上将其最小化,不要让它导航到网站.

这是为什么?我该如何改变这种行为?

[编辑]

这似乎只有在我启动应用程序时才会发生.在"专注"或"看待"之后,这种情况不再发生.

更多信息,导航发生在与UI线程不同的线程中.[/编辑]

[第3次编辑]

这是一个测试用例:

XAML代码:

<Window x:Class="WPFWebbrowserFocusTest.MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="MainWindow" Height="453" Width="755">
<Grid>
    <TabControl Height="390" HorizontalAlignment="Left" Margin="12,12,0,0" Name="tabControl1" VerticalAlignment="Top" Width="709">
        <TabItem Header="tabItem1" Name="tabItem1">
            <Grid>
                <Button Content="Button" Height="23" HorizontalAlignment="Left" Margin="18,17,0,0" Name="button1" VerticalAlignment="Top" Width="75" Click="button1_Click" />
            </Grid>
        </TabItem>
        <TabItem Header="tabItem2" Name="tabItem2">
            <Grid>
                <WebBrowser Height="352" HorizontalAlignment="Left" Margin="0,6,0,0" Name="webBrowser1" VerticalAlignment="Top" Width="693" Navigated="webbrowser_Navigated" LoadCompleted="webbrowser_LoadCompleted" />
            </Grid>
        </TabItem>
        <TabItem Header="tabItem3" Name="tabItem3">
            <Grid>
                <WebBrowser Height="346" HorizontalAlignment="Left" Margin="6,6,0,0" Name="webBrowser2" VerticalAlignment="Top" Width="687" Navigated="webbrowser_Navigated" LoadCompleted="webbrowser_LoadCompleted" />
            </Grid>
        </TabItem>
        <TabItem Header="tabItem4" Name="tabItem4">
            <Grid>
                <WebBrowser Height="346" HorizontalAlignment="Left" Margin="10,10,0,0" Name="webBrowser3" …
Run Code Online (Sandbox Code Playgroud)

c# wpf webbrowser-control navigateurl

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

Angular 5 router.navigate 不起作用

我正在尝试根据某些条件将用户重定向到另一个页面。这是我的示例登录组件:

  ngOnInit() {
    console.log(">>> router", this.router)
    console.log(">>> activatedRoute", this.activatedRoute)

    if (this.activatedRoute.queryParams['value'].param === 'value') {
      console.log(">>> redirecting")
      this.router.navigate(['home']);
    }
  }
Run Code Online (Sandbox Code Playgroud)

如果我导航到没有参数的登录组件,那么我会看到登录组件模板,这很好。

但是,当我使用名为 param 的参数和 value 的值导航到登录组件时,我想将用户重定向到主页。这是行不通的。

这是我的主页路线:

import { NgModule } from '@angular/core';

import { HomeComponent } from './home.component';
import { RouterModule, Routes } from '@angular/router';

const thisRoute: Routes = [
  {
    path: 'home',
    component: HomeComponent
  }
];

@NgModule({
  imports: [
    RouterModule.forRoot(thisRoute, {
      useHash: true, initialNavigation: false
    })
  ],
  declarations: [
    HomeComponent
  ]
})
export class HomeModule { }
Run Code Online (Sandbox Code Playgroud)

我已经在github中创建了一个测试项目供您下载并在您的计算机上运行。只需下载这个项目:https …

redirect routing navigateurl angular

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

PostbackUrl与NavigateUrl

有人能告诉我LinkBut​​ton.PostBackUrl和HyperLink.NavigateUrl之间的区别吗?我有一个asp.net 2.0应用程序,它在整个应用程序中使用这两种方法,一切正常.但是,如果我通过公司连接到应用程序vpn使用LinkBut​​ton.PostBackUrl的所有链接给我一个(54)连接重置由对等错误和HyperLink.NavigateUrl工作正常.我想知道这些命令之间的根本区别,所以我可以试着弄清楚vpn软件阻塞了什么导致连接由同行错误重置.

asp.net postbackurl navigateurl

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

c#webbrowser控件不会导航到另一个页面

我有一个控制台应用程序,我已经在其中定义了一个webbrowser.首先,我导航到一个页面并填写登录表单并调用提交按钮进行登录.

之后,我想使用相同的webbrowser转到同一站点中的另一个页面,但它不会导航到该页面.相反,它导航到登录后重定向的页面.

这是我的澄清代码; 这段代码给了我www.websiteiwanttogo.com/default.aspx的源代码而不是product.aspx这里有什么问题?

static WebBrowser wb = new WebBrowser();

    [STAThread]
    static void Main(string[] args)
    {
        wb.AllowNavigation = true;
        wb.Navigate("https://www.thewebsiteiwanttogo.com/login.aspx");
        wb.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(wb_DocumentCompleted);
        Application.Run();


    }

    static void wb_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
    {
        if (wb.Url.ToString().IndexOf("login.aspx") > -1)
        {
            wb.Document.GetElementById("txtnumber").SetAttribute("value", "000001");
            wb.Document.GetElementById("txtUserName").SetAttribute("value", "myusername");
            wb.Document.GetElementById("txtPassword").SetAttribute("value", "mypassword");
            wb.Document.GetElementById("btnLogin").InvokeMember("click");


        }
        else
        {
            //wb.Document.Body  you are logged in do whatever you want here.
            wb.Navigate("https://www.thewebsiteiwanttogo.com/product.aspx");

            Console.WriteLine(wb.DocumentText);
            Console.ReadLine();
            Application.Exit();

        }
    }
Run Code Online (Sandbox Code Playgroud)

c# webbrowser-control navigateurl

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

如何取消或处理WebBrowser元素的当前导航

我正在开发一个C#,.NET Framework 4.0应用程序.它通过订单访问某些页面.有时我必须移动到下一页而不等待前一页完成工作.如何取消WebBrowser元素的上一个导航过程?

WebBrowserelement使用Internet Explorer.谢谢.

这就是我的导航方式

webBrowser1.Navigate("http://www.mywebsite.com/");
Run Code Online (Sandbox Code Playgroud)

c# browser navigation navigateurl

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

HTML解析器错误消息:分析器错误消息:服务器标记格式不正确

我收到错误解析器错误消息:服务器标签格式不正确.在下面的代码行:

<asp:HyperLink ID="imgFileType" ImageUrl="images/Icon_Pdf.gif" NavigateUrl='<%#"javascript:ViewFile('erg_", Eval("DocumentName") %>' runat="server"></asp:HyperLink>     
Run Code Online (Sandbox Code Playgroud)

我需要将url链接解析为:

javascript:ViewFile('erg_Invoice_3200_QRG_Restaurant.pdf');
Run Code Online (Sandbox Code Playgroud)

我在语法中缺少什么?

vb.net asp.net navigateurl

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

angular 中 performance.navigation.type 的替代品是什么?

我有这个代码是为了知道页面是否被用户重新加载,不幸的是已被弃用。我想知道 angular 是否有这种方法。

if (performance.navigation.type === 1) {
   console.log('is refreshed')
}

if (performance.navigation.type === 0) {
   console.log('the user is arrived')
}  
Run Code Online (Sandbox Code Playgroud)

javascript router navigateurl angular

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

如何添加到当前路线并导航 - Angular

我正在从事 Angular 9 项目。

我有一个可重复使用的表,现在我有两个(父)组件使用该表。我希望用户能够选择表格上的项目并路由到该项目的详细信息页面。问题是这些表位于两个不同的路由(假设:/lists/parent1lists/parent2),并且详细信息页面是这些路由的扩展。因此,如果您单击parent1 表的某个项目,则需要转到路线/lists/parent1/details/${id},如果您使用parent2 的表,则需要转到/lists/parent2/details/${id}。我还通过路由器传递状态数据,并设置 queryParamsHandling。

我认为可以通过多种方式做到这一点,并且我正在尝试找出哪种方法最好。

  • 选择 1)当用户单击表中的项目(子组件)时,我会导致表组件发出事件,导致父组件导航到详细信息页面。这是有效的,因为父级知道其当前路线在哪里,所以我可以简单地执行以下操作:
this.router.navigate([`lists/parent1/details/` + row.id], {
      queryParamsHandling: "merge",
      state: { data: row }
    });
Run Code Online (Sandbox Code Playgroud)

在parent1中和在parent2中以同样的方式。缺点是父母双方都使用非常相似的函数(重复的代码?)


  • 选择 2)我将当前路由从父组件传递到表(子组件)。这只是一个输入,我将在表组件中使用此函数来导航用户:
goToDetails(row): void {
    this.router.navigate([`${currentRouteInput}/details/` + row.id], {
      queryParamsHandling: "merge",
      state: { data: row }
    });
  }
Run Code Online (Sandbox Code Playgroud)
  • Opt3)我在表组件的构造函数中找到当前路径(使用this.router.events),然后设置它并在goToDetails()上面使用的 func 中使用它而不是输入参数。

  • 选项4) ??? 出于某种原因,我认为有一种方法可以通过添加到当前路线来简单地进行导航。例如:如果您在路线上,/lists/parent1我认为有一个路由器导航功能router.navigateFromRoute.(['/details/${id}']),它只会从当前路线导航并添加到它,所以:/lists/parent1/details/${id}。但我看到的唯一路由器导航功能是navigate()navigateByUrl()。这存在吗?我不知道为什么我这么想。

一种方法比其他方法更好吗?我想让这个表组件保持可重用。此类功能有标准做法吗?

我将不胜感激任何见解和提示,谢谢!

router parent-child navigateurl angular angular9

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

VBA:尝试访问网站,但网站偶尔无法加载

目前的代码如下:

Set IE = CreateObject("InternetExplorer.Application")
IE.Navigate "https://www.website.com/"
Application.StatusBar = "https://www.website.com/ is loading. Please wait..."
Do While IE.Busy
    Application.Wait DateAdd("s", 1, Now)
    Loop
Application.StatusBar = "Search form submission. Please wait..."
Run Code Online (Sandbox Code Playgroud)

我遇到的问题是" https://www.website.com/ "无法不时加载(我相信这是由于我反复访问它).结果是代码永远不会超出这个循环:

Do While IE.Busy
    Application.Wait DateAdd("s", 1, Now)
    Loop
Run Code Online (Sandbox Code Playgroud)

在我看来,一个逻辑解决方案是在达到一定的时间限制(30秒?)后杀死IE并重启整个过程.请告知如何编写此解决方案,和/或如何编写更有效的解决方案.非常感谢你!我正在使用IE10,如果这很重要的话.

此外,这里有一个链接我发现有一些相关和相关的信息:http: //www.ozgrid.com/forum/showthread.php?t = 161094

excel vba excel-vba navigateurl

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

为什么网页不显示?我的代码中缺少什么?

我正在尝试使用C#创建自己的webbrowser,我的wpf应用程序似乎是正确的.但它仍然缺少一些东西.网页没有出现.:s有人有想法吗?

这是我在C#中的代码:

public partial class Window1 : Window
{
    public Window1()
    {
        InitializeComponent();
    }

    private void textBox1_TextChanged(object sender, TextChangedEventArgs e)
    {
    }

    private void button1_Click(object sender, RoutedEventArgs e)
    {
        WebBrowser web = new WebBrowser();
        web.NavigateToString (textBox1.Text);
    }
Run Code Online (Sandbox Code Playgroud)

谢谢你的帮助.

c# browser navigateurl

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