我有一个项目来过滤 100k-200k 的网站,通过在 iframe 上查看来收集网站所有者的姓名和电子邮件。我真正需要的是,如果我在我查看的网站上单击/选择名称,它会自动填写名称输入表格,电子邮件也是如此。
有人知道解决方案吗?任何回应将不胜感激。
*如果您需要我的代码,请告诉我,我会放在这里。不过,它只是一个带有<iframe>
and的 html 页面<form>
。
这是代码:
<div class="container container-harvester">
<div class="harvester-form">
<%= form_for(:harvesters, :html => {:class => "form-horizontal"}) do |f| %>
Name: <%= f.text_field :name %>
Email: <%= f.text_field :email %>
<%= f.hidden_field :website, :value => "", :class => "website-harvester" %>
<%= f.hidden_field :skipped, :value => "true" %>
<%= f.submit "Submit", :class => "btn btn-primary submit-harvester", "data-disable-with" => "Saving..." %>
<a href="#" class="delete-website btn btn-danger" data-id="">Delete</a>
<% end %>
</div>
<div class="harvester-iframe">
<iframe name="harvester-iframe" data-id="<%= @websites.first.id %>" src="<%= @websites.first.url %>" frameborder="0">
</iframe>
</div>
<div class="harvester-link">
<ul>
<% @websites.each do |w| %>
<% unless @registered.collect(&:website).include?(w.url) %>
<li><a class="" href="<%= w.url %>" target="harvester-iframe" data-id="<%= w.id %>"><%= w.url %></a></li>
<% end %>
<% end %>
</ul>
</div>
</div>
<% content_for :unobtrusive_js do %>
<script type="text/javascript">
$(document).ready( function() {
$('.harvester-link a').on('click', function (e) {
var url = $(this).attr('href')
, id = $(this).attr('data-id')
, $el = $(e.currentTarget);
$('.harvester-iframe iframe').attr('src', url);
$('.harvester-iframe iframe').attr('data-id', id);
$('.website-harvester').attr('value', url);
$('.delete-website').attr('data-id', id);
$('.submit-harvester').attr('data-id', id);
$('.harvester-link a').removeClass('active');
$el.addClass('active');
});
$('.harvester-iframe iframe').on('load', function (e) {
var url = $(this).attr('src')
, id = $(this).attr('data-id')
, $el = $(e.currentTarget);
$('.delete-website').attr('value', url);
$('.delete-website').attr('data-id', id);
$('.website-harvester').attr('value', url);
$('.submit-harvester').attr('data-id', id);
});
$('.delete-website').on('click', function (e) {
e.preventDefault();
var id = $(this).attr('data-id');
API.delete(Routes.harvester_website_path(id)).done(function (response) {
window.location.reload();
});
})
$('.submit-harvester').on('click', function (e) {
var id = $(this).attr('data-id');
API.delete(Routes.harvester_website_path(id)).done(function (response) {
window.location.reload();
});
})
});
</script>
<% end %>