我有一个使用框架的遗留网站.框架内的页面不使用白色背景,因此,当帧中的页面转换时,我会看到恼人的"白色闪光".我认为这可以通过更改背景颜色来修复<frame>
,但无论输入什么,Internet Explorer都不会看到任何东西,只有白色.Firefox似乎接受背景颜色,但IE不是这样.
注意:请不要让我使用框架 - 我知道; 哎呀,我想我甚至已经宣讲过一段时间了......哈哈......
我想问一下在现代仅限Intranet的Web应用程序中使用框架.当然,在现代互联网Web应用程序中使用或可能不使用框架有几个原因.但是,当涉及到Intranet Web应用程序(考虑财务应用程序)时呢?
想想应用程序的大部分时间是不断可见的(如工具栏,菜单,标识等),框架可以是一个简单/快速的解决方案吗?在考虑像PPR这样的事情时,这些优势是否算得上?
我很好奇,也很感谢你对此的看法.
我在一个框架环境中工作,并试图判断一些javascript代码执行的框架是顶框架(包含其余部分的框架).
到目前为止,我试图检查它
window.parent != null
Run Code Online (Sandbox Code Playgroud)
但它总是返回false,就像在这个简单的例子中一样.
<html>
<head>
<script>
alert(parent == null);
</script>
</head>
<body>
<h1>OH YEAH!</h1>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
有没有办法做到这一点?我不需要便携,现在我正在寻找IE6解决方案.
我有一个自己托管的网站.我没有静态IP地址,所以我将我的域的所有流量转发为屏蔽到我的DDNS帐户.结果页面看起来像这样......
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>mydomianname.com</title>
</head>
<frameset rows="100%,*" border="0">
<frame src="http://myddns.dyndns.org/mydomainname" frameborder="0" />
<frame frameborder="0" noresize />
</frameset>
</html>
Run Code Online (Sandbox Code Playgroud)
当用户在"子"框架内导航时,如何更新"父"框架的URL?
更新:成功?
我试过用javascript做这个但是有一个问题得到正确href
的我的javascript函数没有不良的副作用(打开两个窗口,让我的主窗口转到错误的位置,或使它如此后退按钮没有'工作正确).我需要的只是我的a
标签的一个属性来保存我可以在我的javascript中使用的值,但根本不会做任何其他事情.添加属性value
事件尽管它不是a
标记的本机属性但效果很好.
该a
标签...
<a onclick="url_update(this);" value="test/test.html" href="javascript:void(0);">test link</a>
Run Code Online (Sandbox Code Playgroud)
和javascript函数......
function url_update(element){
base_url = 'http://mydomain.com/';
window.parent.location.href = base_url + element.getAttribute('value');
}
Run Code Online (Sandbox Code Playgroud)
生成的更新URL是......
http://mydomain.com/test/test.html
Run Code Online (Sandbox Code Playgroud)
......并没有前面提到的副作用.
我想修复的唯一"副作用"是在浏览器窗口底部的信息栏中显示链接. 现在它说,javascript:void(0);
因为这是我的href
属性中写的,但我希望它在链接悬停时显示更新的URL ...任何想法?
如果我可以废弃所有这些javascript并使用IIS 7 URL Rewrite 2.0代替这样做会更好......但我还没有掌握URL重写的黑色艺术.
我在emacs下使用gdb.在调试会话期间,当emacs/gdb跳转到源代码时,我通常打开另一个帧(Cx 5 2)并将其拉到我的第二个监视器上.当需要打开一个新的源代码文件时(例如当程序进入另一个源文件中定义的函数,遍历堆栈等等)时,问题就来了.emacs倾向于自动打开新的相应源代码窗口,但不幸的是在gdb框架中.
我想在它打开的新框架中拉出新的源代码并完全保持gdb框架不变.我的问题是:
如何设置emacs打开任何新文件,使文件显示在新框架中?
我希望我有意义.
我试图在顶部添加效果来编辑现有的电影,因此我需要能够扫描所有电影帧,将它们作为UIImage,应用效果,然后更新该帧或将其写入新电影.我发现人们建议使用AVAssetImageGenerator.以下是我最后编辑的样本:
-(void)processMovie:(NSString*)moviePath {
NSURL* url = [NSURL fileURLWithPath:moviePath];
AVURLAsset *asset=[[AVURLAsset alloc] initWithURL:url options:nil];
float movieTimeInSeconds = CMTimeGetSeconds([movie duration]);
AVAssetImageGenerator *generator = [[AVAssetImageGenerator alloc] initWithAsset:asset];
generator.requestedTimeToleranceBefore = generator.requestedTimeToleranceAfter = kCMTimeZero;
generator.appliesPreferredTrackTransform=TRUE;
[asset release];
// building array of time with steps as 1/10th of second
NSMutableArray* arr = [[[NSMutableArray alloc] init] retain];
for(int i=0; i<movieTimeInSeconds*10; i++) {
[arr addObject:[NSValue valueWithCMTime:CMTimeMake(i,10)]];
}
AVAssetImageGeneratorCompletionHandler handler = ^(CMTime requestedTime, CGImageRef im, CMTime actualTime, AVAssetImageGeneratorResult result, NSError *error){
if (result == AVAssetImageGeneratorSucceeded) {
UIImage* img = …
Run Code Online (Sandbox Code Playgroud) 我有一个简单的网页,其中1帧显示pdf,另一个显示菜单栏.
<iframe src="bar.html" name="menu" ></iframe>
<iframe src="doc.pdf" name="itempane" ></iframe>
Run Code Online (Sandbox Code Playgroud)
使用chrome我可以从菜单栏导航到父级,然后返回到包含pdf的框架以便打印它
var pWindow = window.parent;
pWindow['itempane'].print();
Run Code Online (Sandbox Code Playgroud)
尝试在IE11中执行相同操作会产生无效的调用对象错误.
你可以在http://www.abhrdev.co.uk/main.html看到这个
我做错了什么/ IE做什么不同?
干杯
更新.....
我想我已经证明这不是一个javascript编码问题,但与IE中的pdf处理有关.使用以下页面
<a href="javascript:printFromMain('pdfpane');">Print PDF</a><br/>
<a href="javascript:printFromMain('htmlpane');">Print HTML</a>
<iframe src="bar_1.html" name="menu" ></iframe>
<iframe src="doc.pdf" name="pdfpane" ></iframe>
<iframe src="doc.html" name="htmlpane" ></iframe>
Run Code Online (Sandbox Code Playgroud)
和这个功能
function printFromMain(paneName) {
var pWindow = window[paneName];
pWindow.focus();
pWindow.print();
}
Run Code Online (Sandbox Code Playgroud)
html页面的打印有效,但不是pdf,pWindow.focus()给出了无效的调用对象 - 任何洞察为什么可能会收到很大的回复
通常我们将JavaScript <script>
标记放在HTML文档的底部,就在结束</body>
标记之前,这样做的好处是它们在DOM中已经可用的所有元素之后执行,还有更多的东西.
但是,我使用的是框架文档 1,<frameset>
而不是<body>
标签.我不想把它们放在<head>
文档中,因为它们不能立即访问3以下的DOM元素.而且我不想<iframe>
在标准身体标签中使用s 4.我试过了
<head>
<title>Framesets are interesting</title>
</head>
<frameset cols="50%,50%">
<frame id="frame-a" src="a.html">
<frame id="frame-b" src="b.html">
<script type="text/javascript">
console.log("hello world!");
console.log(document.getElementById("frame-a")); // this is what I'm after
</script>
</frameset>
Run Code Online (Sandbox Code Playgroud)
但是,脚本根本没有执行,甚至没有出现在DOM检查器中.当然,一个<frameset>
可能只包含<frame>
和<noframes>
标签.但是,在<frame>
标签之后真的没有办法让脚本执行吗?
仅供参考,将它们放置在</frameset>
有时用<body>
s 完成后也不起作用.
1:是的,我知道他们已被弃用了.它们只是我项目的自然选择2,一个简洁的并排视图,显示两个文档并以复杂的方式将它们滚动在一起.
2:......之前我从未使用过它们,所以我想尝试一下.
3:这就是我最终的结果,毕竟一个onload处理程序是微不足道的.问题仍然存在,我很好奇.
4:工作正常,但需要复杂的CSS样式
我有一个带有的表单,target
提交后我希望仅将表单替换为目标页面,而不是整个页面。我已经将表单包装在<frame>
标签中,但是在表单提交后,整个页面都重新加载了表单提交目标,而不仅是表单本身(包含在框架标签中)。
无论如何要获得表单提交仅替换该框架。理想情况下,浏览器中的URL不会更改。
我正在尝试等待Selenium切换变化的帧,然后再等待另一个元素。即
var wait = new WebDriverWait(driver, 15);
wait.Until(ExpectedConditions.FrameToBeAvailableAndSwitchToIt(By.Id("frameA"));
var wait2 = new WebDriverWait(driver, 15);
// wait for element within frameA to exist
wait2.Until(ExpectedConditions.ElementExists(By.Id("elementA")));
Run Code Online (Sandbox Code Playgroud)
如果我在Thread.Sleep(1000);
第二次等待之前进行一次简单的操作,它的功能就很好,但是如果没有这样做,我会得到以下错误:
'unknown error: unhandled inspector error: {"code":-32000,"message":"Cannot find context with specified id"}
enter code here
Run Code Online (Sandbox Code Playgroud)
有没有更好的方法来等待框架上下文切换完成,然后再等待填充该框架中的元素?