目前看来 puppeteer 的默认行为是跟随重定向并在链的末尾返回 DOM。
如何.goto()
在第一次重定向发生后停止该方法,并在调用 page.content() 方法时简单地从第一个 3xx 页面返回 html?
我正在构建一个角度应用程序,它在Dynamics 2013上作为Web资源运行.
应用程序使用一个按钮运行,该按钮使用Ribbon工作台添加到commandContainer,然后该按钮调用 Xrm.Internal.openDialog
所有这一切都正常,直到我想开始使用暴露的实体 Xrm.Page.Data
基本上我的按钮在动态主页面的上下文中运行,但是实体在iframe内,基于我所在的页面具有不同的Id和名称.
因此,使用简单的选择器我无法获取其contentWindow并开始使用实体.
该#crmContentPanel总是有它几个I帧开始从#contentIFrame0到#contentIFrame(n)和我永远无法知道哪个iframe是一个与它的实体.
在此环境中开发应用程序的最佳实践和相关工作流程是什么?如何轻松可靠地访问保存主页面实体并使用它们的正确框架.
也许脚本位于错误的位置,需要注入主内容区域,以便直接访问正确的Xrm?我怎样才能做到这一点?
此外,一旦我最终设法访问这些数据,我怎么能轻松地将这些数据传递给我在对话框中运行的角度应用程序,从我阅读的文档中可以看到对话框只允许1个查询字符串参数,并且必须将其称为数据.这对我的应用程序开始使用来说还不够$routeParams
.我不认为使用本地或会话存储是很好的做法.在这种情况下,正确的方法是什么.
我的按钮脚本的示例代码:
function runSendSender() {
// Content Iframe Entity data:
var contentFrameXrm = $('#crmContentPanel')
.find("iframe#contentIFrame0...n")[0]
.contentWindow['Xrm'];
// even if above selector was consistent across pages
// I need to send over much more than this one Id :(
var data = contentFrameXrm.Page.data.entity.getId();
var src = "/WebResources/concep_/ConcepDynamicsApp/ConcepDynamicsApp.html?data=" + data;
var DialogOptions = new Xrm.DialogOptions();
DialogOptions.width = 800;
DialogOptions.height = 500;
Xrm.Internal.openDialog(src, DialogOptions, null, null, CallbackFunction);
function CallbackFunction(returnValue) { …
Run Code Online (Sandbox Code Playgroud) 如果我可以说:
var big = (x > 10) ? true : false;
Run Code Online (Sandbox Code Playgroud)
代替:
var big;
if (x > 10) {
big = true;
}
else {
big = false;
}
Run Code Online (Sandbox Code Playgroud)
我该如何缩短它?
var now = new Date
if (now.getHours() < 5) {
return "late night pick me up";
}
else if (now.getHours() < 9) {
return "breakfast";
}
else if (now.getHours() < 13) {
return "lunch";
}
else if (now.getHours() < 17) {
return "afternoon snak";
}
else {
return "dinner";
} …
Run Code Online (Sandbox Code Playgroud) 我有一个问题,在iPhone 4上解决这个问题,任何想法?
$('select').change(function () {
alert('you changed this');
});
Run Code Online (Sandbox Code Playgroud) 我一直在看这个问题,看不出问题出在哪里.任何帮助是极大的赞赏.
[WebMethod(true)]
[ScriptMethod(UseHttpGet = true, ResponseFormat = ResponseFormat.Json)]
public static string neighbourhoodTeam(string force, string neighbourhood)
{
//StreamManager streamMan = new StreamManager();
//return streamMan.StreamManagerUrlHandler("http://policeapi2.rkh.co.uk/api/" + force + "%2F" + neighbourhood + "%2F" + "people");
return neighbourhood + force;
}
Run Code Online (Sandbox Code Playgroud)
jQuery的:
function getOfficers(force, neighbourhood) {
$.ajax({
type: "GET",
contentType: "application/json; charset=utf-8",
url: "../police/crimerequest.aspx/neighbourhoodTeam",
data: JSON.stringify({ "force": force, "neighbourhood": neighbourhood }),
dataType: "json",
success: function (data) {
var results = $.parseJSON(data.d);
$.each(results, function (i) {
businessCards.push(generateOfficerBusinessCard(
results[i].name,
results[i].rank,
results[i].contact_details.mobile,
results[i].contact_details.tel,
results[i].contact_details.email))
});
PoliceApp.businessCardsPlaceHolder.html(businessCards.toString()); …
Run Code Online (Sandbox Code Playgroud) 也许是因为我整天都在工作,我看不出问题所在.但是在以下代码中,警报仅显示最后添加的值,并且不会推送数组中的值.:(
window.sortControl = {
sortControlPanel: $('div.sortControl'),
simpleSortCriteriaList: $('div.sortControl .simple'),
advancedSortCriteriaList: $('div.sortControl .advanced'),
dropDownExpander: $('div.sortControl .dropDownExpand.primary'),
dropDownContent: $('div.sortControl .dropdownContent.primary'),
simpleSortCriteria: $('div.sortControl .sortcriteria.simple a'),
simpleSortCheckboxes: $('.simple .checkbox'),
openAdvancedButton: $('.openAdvanced'),
backtoSimpleButton: $('.backtoSimple'),
advancedDropdownContent: $('div.sortControl .advanced .dropdownContent'),
advancedDropdownExpander: $('div.sortControl .advanced .dropDownExpand')
};
$.each(sortControl.advancedDropdownContent.parent(), function () {
var dropdownContent = $(this).find('.dropdownContent');
var input = $(this).find('input');
$(this).find('.dropDownExpand').live('click', function (event) {
sortControl.advancedDropdownContent.not(dropdownContent).hide('fast');
dropdownContent.toggle('fast');
event.preventDefault();
});
var currentSelectedGroups = [];
$(this).find('li a').bind('click', function (event) {
var criteria = $(this).text();
//if (!currentSelectedGroups.inArray($(this).attr('class'), true)) {
input.attr('value', criteria);
currentSelectedGroups.push($(this).attr('class'));
//}
dropdownContent.toggle('fast'); …
Run Code Online (Sandbox Code Playgroud) 我已将以下过滤器添加到我的视图模型中:
contactsViewModel.filterItems = ko.computed(function () {
var filter = this.filterInput().toLowerCase();
if (!filter || !this.hasEnoughChars()) {
// Simply keep the results if input is empty or less 3 chars are in it
return this.contacts();
} else {
// iterate through the JSON again
return ko.utils.arrayFilter(this.contacts(), function (item) {
// Return the objects that contain the filter term
// ko.utils.stringContains is not part of knockout
// Manually added to knockout-2.2.0.debug.js line 238
return ko.utils.stringContains(item.firstName().toLowerCase(), filter)
|| ko.utils.stringContains(item.lastName().toLowerCase(), filter)
|| ko.utils.stringContains(item.email().toLowerCase(), filter)
|| …
Run Code Online (Sandbox Code Playgroud) 我有一个select选项,它从EmailField获取其初始值及其来自allEmailFields的选项:
<select data-bind="options: $parent.allEmailFields, value: EmailField()"></select>
Run Code Online (Sandbox Code Playgroud)
当我更改select的值时,我的模型不会更新.是不是这种双向约束应该照顾的东西?或者我需要为change事件编写处理程序?
模块在这里:
define('mods/fieldmapping', ["knockout", "libs/knockout.mapping", "datacontext", "mods/campaigner", "text!templates/fieldmapping.html", "text!styles/fieldmapping.css"],
function (ko, mapping, datacontext, campaigner, html, css) {
'use strict';
var
fieldMappingItem = function (data) {
var self = this;
self.CrmField = ko.observable(data.CrmField);
self.EmailField = ko.observable(data.EmailField);
},
dataMappingOptions = {
key: function (data) {
return data.PlatformFieldName;
},
create: function (options) {
return new fieldMappingItem(options.data);
}
},
fieldMappingViewModel = {
contentLoading: ko.observable(false)
},
showFieldMapping = function () {
campaigner.addStylesToHead(css);
campaigner.addModalInnerPanel(html);
},
init = function (connectionId, connectionName) …
Run Code Online (Sandbox Code Playgroud) 有各种方法将事件绑定到jquery中的元素
.click,.bind,.live,.delegate,在.data中保存事件数据等
这些中最优秀的方法是什么?为什么?
不会像这样的单一模式更有益吗?
$('selector').bind({
event: 'click mouseover ...',
keepAlive: (true, false, ...),
trigfunction: (function() {
// I run for click
}, function() {
// i run for mouseover
}, function() {
///...
})
});
Run Code Online (Sandbox Code Playgroud) 是否有服务或api允许只有javascript检索有关字符串的维基百科数据?
在下面的代码中,即使第一个语句返回false,我仍然可以执行第二个和第三个语句?
// so in this one if Required fails I dont get the email error :(
function validate() {
if (checkRequired(myForm.requiredElements)
&& checkEmail(myForm.emailInputs)
&& checkTelephone(myForm.telInputs)) {
return true;
}
else {
return false;
}
}
Run Code Online (Sandbox Code Playgroud)