相关疑难解决方法(0)

如何异步上传文件?

我想用jQuery异步上传一个文件.这是我的HTML:

<span>File</span>
<input type="file" id="file" name="file" size="10"/>
<input id="uploadbutton" type="button" value="Upload"/>
Run Code Online (Sandbox Code Playgroud)

在这里我的__CODE__代码:

$(document).ready(function () {
    $("#uploadbutton").click(function () {
        var filename = $("#file").val();

        $.ajax({
            type: "POST",
            url: "addFile.do",
            enctype: 'multipart/form-data',
            data: {
                file: filename
            },
            success: function () {
                alert("Data Uploaded: ");
            }
        });
    });
});
Run Code Online (Sandbox Code Playgroud)

我只获取文件名,而不是上传文件.我该怎么做才能解决这个问题?

现行解决方案

我正在使用jQuery Form Plugin上传文件.

javascript ajax jquery asynchronous xmlhttprequest

2841
推荐指数
28
解决办法
129万
查看次数

jQuery/JavaScript:访问iframe的内容

我想使用jQuery操纵iframe中的HTML.

我以为我可以通过将jQuery函数的上下文设置为iframe的文档来实现这一点,例如:

$(function(){ //document ready
    $('some selector', frames['nameOfMyIframe'].document).doStuff()
});
Run Code Online (Sandbox Code Playgroud)

然而,这似乎不起作用.一些检查显示我的变量frames['nameOfMyIframe']undefined除非我等待一段时间加载iframe.但是,当iframe加载时,变量不可访问(我得到permission denied-type错误).

有没有人知道这方面的解决方法?

javascript iframe jquery same-origin-policy

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

刷新其中包含Google广告的Div

我有一个<div>持有谷歌广告.我的网站主要是AJAX,不需要浏览器刷新.这意味着我的广告也不会刷新,这不是理想的,用户整天都在盯着一个广告.

所以我想要一种<div>在页面上刷新特定内容的方法.我发现了许多解决方案,但它们没有用.例如,使用JQuery的html函数:

$("#ads").html("google ad script here");
Run Code Online (Sandbox Code Playgroud)

这设法刷新整个页面不知道如何.我也可以向包含Google广告的HTML页面发出AJAX请求,但我猜它会产生与上述尝试相同的效果.

我不想使用iFrame.

还有其他选择吗?我的豌豆大脑再也想不到了.:)

编辑:

这是允许的,因为我将仅在用户单击链接时启动刷新.

一个主要的例子是雅虎邮箱 - 他们的新AJAX邮箱使用相同的方法,当用户点击链接然后显示新广告.

html javascript ajax refresh google-adwords

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

与AJAX的Adsense

我读到了这个,这个这个,但我认为我的情况有所不同.每次进行AJAX调用时,我都不需要刷新广告.

我有一个页面叫它"mypage.php".当页面打开时,我将Adsense广告加载到第一个div中.我的第二个空是空的.

在DOM完全加载后,我做了一个AJAX帖子.并将结果放入"lower_content"div中.这会破坏Adsense TOS吗?

<body>
  <div id="adSense_content>
    <script> adsense script </script>
  </div>

  <div id="lower_content">
    empty in start
  </div>
</body>
Run Code Online (Sandbox Code Playgroud)

我的js文件:

$(document).ready(function() {
  $.ajax({
    type: "POST",
    url: "/getit",
    success: function(data) {
            $("#lower_content").html(data);
        }
  });
}
Run Code Online (Sandbox Code Playgroud)

注意:为什么我在页面打开时不加载第二个内容?因为AJAX在6-7秒内回复.当服务器负载很高时,甚至会在10-15秒内响应.不要让访问者等待空白页面,甚至从页面反弹.我在开始时向访客显示布局,并在AJAX呼叫的响应到来时加载内容.

编辑:将广告投放到空白页面是Adsense TOS.但是我加载表格数据时提到的页面是空的.使用AJAX加载完整表后,页面将加载内容.但广告是在加载html页面时放置的.

ajax jquery ads adsense

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

AdSense on history.pushState已启用页面

首先,我知道这已经讨论,并 再次.但是,让我们将其视为"2012年末版",因为互联网上的情况往往会迅速发生变化.

我有这个网页,这是一个"经典"的网页,整页翻新.每次内部点击都会产生新内容.我们可以毫无问题地以这种方式展示AdSense广告.

现在我出于性能原因开始研究"ajaxifying"(PJAX)整个页面(我实际上已经制作了一个原型版本并且它工作得非常好).整个过程仅适用于支持的浏览器,history.pushState每当用户点击内部链接时,触发的AJAX请求仅获取页面的内容部分(页眉和页脚之间的所有内容)并用它替换旧内容.

最终结果是,向用户呈现一个全新的页面(包括更改的URL和不包含的内容),并且只有用于传递页面的机制已经改变(完全重新加载与AJAX).就谷歌(和旧版浏览器)而言,这仍然是具有常规链接的常规页面(渐进增强和所有这些).

然而,没有办法展示AdSense,document.write以及AdSense和AdSense的TOS破坏了聚会.

我的问题是:是否有谷歌批准(我对那些会被我们禁止的黑客行为不感兴趣)在这样的网页上展示AdSense广告的方式(我还没有找到).或者如果没有,Google将来是否有任何计划支持这一点(同样,我还没有找到与此相关的任何内容).

更新

经过一番挖掘后,我遇到了谷歌DFP,这似乎支持异步加载添加.但是,我不确定我是否可以在不破坏服务条款的情况下动态加载AdSense广告.我100%确定我可以通过这种方式加载其他广告,但不能用于AdSense.有人可以为我清楚这一点吗?

ajax adsense pjax pushstate google-dfp

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