As mentioned by Hiren above, this has now been fixed in the latest version of the Publish from Publish Queue code (here).
Specifically, I had to update the following:
Publish.js
Replaced this (approximately line 95):
tridion.Web.UI.ContentManager.Publishing.PublishItems(
items,
instruction,
PqPublish$_onMultiPublish$_onSendToQueue,
PqPublish$_onMultiPublish$_onSendToQueueFailed
);
With this:
// 2013 & web 8 support
if (typeof tridion.Web.UI.ContentManager.Publishing === "function") {
tridion.Web.UI.ContentManager.Publishing.PublishItems(
items,
instruction,
PqPublish$_onMultiPublish$_onSendToQueue,
PqPublish$_onMultiPublish$_onSendToQueueFailed
);
} else {
tridion.Web.UI.Models.TCM.Publishing.PublishItems(
items,
instruction,
PqPublish$_onMultiPublish$_onSendToQueue,
PqPublish$_onMultiPublish$_onSendToQueueFailed
);
}
UnPublish.js
Replaced this (approximately line 70):
tridion.Web.UI.ContentManager.Publishing.UnpublishItems(
items,
instruction,
PqUnPublish$_onMultiUnpublish$_onSendToQueue,
PqUnPublish$_onMultiUnpublish$_onSendToQueueFailed
);
With this:
// 2013 & web 8 support
if (typeof tridion.Web.UI.ContentManager.Publishing === "function") {
tridion.Web.UI.ContentManager.Publishing.UnpublishItems(
items,
instruction,
PqUnPublish$_onMultiUnpublish$_onSendToQueue,
PqUnPublish$_onMultiUnpublish$_onSendToQueueFailed
);
} else {
tridion.Web.UI.Models.TCM.Publishing.UnpublishItems(
items,
instruction,
PqUnPublish$_onMultiUnpublish$_onSendToQueue,
PqUnPublish$_onMultiUnpublish$_onSendToQueueFailed
);
}