在URL为空的新窗口中,如何提供查找相关资源的路径?

In a new window with a blank URL, how can you provide a path from which to find relative resources?(在URL为空的新窗口中,如何提供查找相关资源的路径?)
本文介绍了在URL为空的新窗口中,如何提供查找相关资源的路径?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

这个问题开始于对一个功能丰富的公共网站进行的Robot Framework测试。作为测试生成的数据的一部分,我想要捕捉屏幕截图。使用JavaScript数据源将整个报告格式化为HTML。因此RF将数据放入.JS文件,然后HTML读取数据。

我对图像有问题。他们没有出现在弹出窗口报告中,我不知道为什么。 从RF导出的路径是相对的,它们在报告的主页中工作得很好,但在弹出窗口中不是这样。 问题似乎在于空白弹出窗口没有从中搜索资源的窗口位置。我甚至运行了一个快速实验,显示无法从弹出窗口(右)访问主窗口(左)的整个路径。

多亏了关于绝对副相对路径的注释,我更新了RF代码以输出绝对路径。现在我的代码达到了我想要的效果,但是我还剩下一个关于空白窗口和路径的问题。

我可以使图像工作,但是我还有样式表和javascript文件,我也想引用它们。现在我把所有的东西都逐行写出来,这似乎有点过分。当然,有一种方法可以为新窗口设置路径,该路径可以用作相对资源的起点。

推荐答案

我看到IMG被指定了要使用的相对URL(正如它们应该使用的那样)。我不是百分之百肯定window.open的基本URL是什么。我不知道它是否是关于:空白,但是由于绝对URL起作用而相对URL不起作用,我认为可以肯定浏览器不知道指向哪里。

因此添加一个元素以显式地告诉它指向何处。以下是文档:

https://developer.mozilla.org/en-US/docs/Web/HTML/Element/base

我假设您正在使用js将元素写入窗口,因此在这种情况下,您将需要创建基本元素,将其追加到头部,并将base.href设置为您正在使用的基本url。

我认为,如果不使用window.open(在弹出窗口不好的时候很受欢迎),而使用一个隐藏的模式div,您可以将HTML加载(或写入)到其中,然后取消隐藏,这样做可以省去一些麻烦。但是,您使用弹出窗口可能有完全有效的理由。

这篇关于在URL为空的新窗口中,如何提供查找相关资源的路径?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

Update another component when Formik form changes(当Formik表单更改时更新另一个组件)
Formik validation isSubmitting / isValidating not getting set to true(Formik验证正在提交/isValiating未设置为True)
React Validation Max Range Using Formik(使用Formik的Reaction验证最大范围)
Validation using Yup to check string or number length(使用YUP检查字符串或数字长度的验证)
Updating initialValues prop on Formik Form does not update input value(更新Formik表单上的初始值属性不会更新输入值)
password validation with yup and formik(使用YUP和Formick进行密码验证)